반응형

bash 13

오류 발생 시 Bash 셸 스크립트에서 자동으로 종료

오류 발생 시 Bash 셸 스크립트에서 자동으로 종료 이 질문에는 이미 다음과 같은 답이 있습니다. 명령이 0이 아닌 값을 반환하는 경우 셸 스크립트 중단 (10개 답변) 마감됨3년 전에. 저는 셸 스크립트를 작성하고 있는데 명령 중 하나가 실패할 경우 해당 셸 스크립트의 실행을 중지할 수 있는 기능이 있다면 유용할 것입니다.예는 아래를 참조하십시오. #!/bin/bash cd some_dir ./configure --some-flags make make install 따라서 이 경우 스크립트가 지정된 디렉토리로 변경할 수 없는 경우 스크립트가 실패하더라도 나중에 ./configure를 수행하지 않을 것입니다. 이제 각 명령에 대해 if 검사를 수행할 수 있다는 것을 잘 알고 있습니다(이것은 가망이 없는..

programing 2023.06.07

매개 변수를 사용하는 Bash 별칭을 만드시겠습니까?

매개 변수를 사용하는 Bash 별칭을 만드시겠습니까? 저는 매개 변수를 사용하는 별칭을 만들 수 있는 CSshell(CSsh)을 사용했습니다.그 표기법은 다음과 같았습니다. alias junk="mv \\!* ~/.Trash" Bash에서는 이것이 작동하지 않는 것 같습니다.Bash에는 여러 가지 유용한 기능이 있기 때문에 이 기능이 구현되었다고 생각하지만 어떻게 구현되었는지 궁금합니다.Bash 별칭은 매개 변수를 직접 수락하지 않습니다.함수를 만들어야 합니다. alias에서는 매개 변수를 허용하지 않지만 별칭처럼 함수를 호출할 수 있습니다.예: myfunction() { #do things with parameters like $1 such as mv "$1" "$1.bak" cp "$2" "$1" }..

programing 2023.06.07

셸 스크립트 읽기 마지막 줄이 누락됨

셸 스크립트 읽기 마지막 줄이 누락됨 저는...제가 통찰력을 얻고 싶었던 bash shell 스크립트와 관련된 이상한 문제. 저희 팀은 파일의 행을 반복하고 각 행의 내용을 확인하는 스크립트를 작성하고 있습니다.여러 스크립트를 함께 배열하는 자동화된 프로세스를 통해 실행할 때 마지막 줄이 보이지 않는 버그가 있었습니다. 줄 할 때 은 " 의줄저위반데코드는이사름되용는된파장복일하서에저▁stored▁in▁used()▁the이코▁code름▁("에 저장됨)DATAFILE이었다 cat "$DATAFILE" | while read line 명령줄에서 스크립트를 실행하면 마지막 줄을 포함하여 파일의 모든 줄을 볼 수 있습니다.그러나 자동화된 프로세스(문제의 스크립트 바로 전에 DATAFILE을 생성하는 스크립트를 실행..

programing 2023.05.28

셸에서 for-loop에 선행 0을 추가하는 방법은 무엇입니까?

셸에서 for-loop에 선행 0을 추가하는 방법은 무엇입니까? 이 질문에는 이미 다음과 같은 답이 있습니다. 모든 것이 같은 폭을 갖도록 bash에서 정수 시퀀스를 제로 패드하는 방법은 무엇입니까? (16개 답변) 마감됨7년 전에. 반복할 때마다 변수 숫자를 1씩 증가시키는 루프의 기본 숫자를 가지고 있습니다. for (( num=1; num=bash-4. 사용할 경우printf다음과 같이 결과를 변수에 추가하여 사용할 수 있습니다. $ foo=$(printf "%02d" 5) $ echo "${foo}" 05 seq -w최대 입력 너비를 감지하고 출력 너비를 정규화합니다. for num in $(seq -w 01 05); do ... done 작성 당시에는 OSX의 최신 버전에서 이 기능이 작동하지 ..

programing 2023.05.28

bash의 문자열을 이스케이프하는 명령

bash의 문자열을 이스케이프하는 명령 문자열을 이스케이프된 것으로 변환하는 bash 명령이 필요합니다.다음은 예입니다. echo "hello\world" | escape | someprog 이스케이프 명령이 실행되는 위치"hello\world"안으로"hello\\\world"그러면, 어떤 프로그램은"hello\\world"예상대로물론, 이것은 제가 실제로 무엇을 할 것인지에 대한 단순화된 예입니다.배시에서: printf "%q" "hello\world" | someprog 예: printf "%q" "hello\world" hello\\world 이는 변수를 통해서도 사용할 수 있습니다. printf -v var "%q\n" "hello\world" echo "$var" hello\\world 순수 B..

programing 2023.05.23

bash 스크립트의 조건인 경우 negate

bash 스크립트의 조건인 경우 negate 다음 명령을 무시하려고 합니다. wget -q --tries=10 --timeout=20 --spider http://google.com if [[ $? -eq 0 ]]; then echo "Sorry you are Offline" exit 1 인터넷에 연결되어 있으면 이 if 조건이 true로 반환됩니다.나는 그것이 반대로 일어나기를 원하지만 퍼팅.!아무데나 효과가 없는 것 같습니다.선택할 수 있는 항목: if [[ $? -ne 0 ]]; then # -ne: not equal if ! [[ $? -eq 0 ]]; then # -eq: equal if [[ ! $? -eq 0 ]]; then !다음 식의 반환을 각각 반전합니다.낫다. if ! wget -q ..

programing 2023.05.23

Bash 명령줄 및 입력 제한

Bash 명령줄 및 입력 제한 bash(또는 다른 셸)에 부과되는 문자 제한의 일종으로 입력이 얼마나 오래 될 수 있습니까?그렇다면 그 문자 제한은 무엇입니까? 즉, 명령줄을 실행하기에 너무 긴 명령을 bash로 작성할 수 있습니까?필요한 한도가 없다면, 제안된 한도가 있습니까? 명령줄 길이에 대한 제한은 셸이 아니라 운영 체제가 적용합니다.이 제한은 일반적으로 100KB 범위입니다.POSIX는 이 한계를 나타냅니다.ARG_MAX그리고 POSIX 적합성 시스템에서 당신은 그것을 질의할 수 있습니다. $ getconf ARG_MAX # Get argument limit in bytes 예를 들어 Cygwin의 경우 32000이며, 다른 BSD와 Linux 시스템에서는 131072에서 2621440까지 사용..

programing 2023.05.18

파일에 쓰지만 파일이 있는 경우 덮어씁니다.

파일에 쓰지만 파일이 있는 경우 덮어씁니다. echo "text" >> 'Users/Name/Desktop/TheAccount.txt' 파일이 없는 경우 파일을 생성하지만 이미 있는 경우 덮어쓰도록 하려면 어떻게 해야 합니까?지금은 이 스크립트가 나타납니다.그>>리디렉션 연산자는 지정된 파일의 끝에 줄을 추가합니다. 여기서 단일은 다음보다 큽니다.>파일을 비우고 덮어씁니다. echo "text" > 'Users/Name/Desktop/TheAccount.txt' 바시에서 클로버 ala를 설정하지 않은 경우set -o noclobber그런 다음 구문을 사용합니다.>| 예: echo "some text" >| existing_file 파일이 아직 존재하지 않는 경우에도 작동합니다. 다음으로 설정된 클로버가 ..

programing 2023.05.18

요소에 공백이 있는 Bash 배열

요소에 공백이 있는 Bash 배열 카메라에서 파일 이름을 사용하여 배열을 구성하려고 합니다. FILES=(2011-09-04 21.43.02.jpg 2011-09-05 10.23.14.jpg 2011-09-09 12.31.16.jpg 2011-09-11 08.43.12.jpg) 보시다시피 각 파일 이름의 중간에 공백이 있습니다. 저는 각각의 이름을 따옴표로 묶고, 백슬래시로 공간을 탈출하려고 했지만, 둘 다 소용이 없습니다. 배열 요소에 액세스하려고 하면 공간이 요소 구분 기호로 계속 처리됩니다. 이름 안에 공백이 있는 파일 이름을 제대로 캡처하려면 어떻게 해야 합니까?부분적으로는 요소에 액세스하는 방법에 문제가 있을 수 있습니다.제가 간단하게 하면,for elem in $FILES저도 당신과 같은 문제..

programing 2023.05.08

필드의 숫자 값을 기준으로 파일을 정렬하려면 어떻게 해야 합니까?

필드의 숫자 값을 기준으로 파일을 정렬하려면 어떻게 해야 합니까? 예file.txt: 100 foo 2 bar 300 tuu 사용시sort -k 1,1 file.txt행의 순서는 변경되지 않습니다.다만, 다음과 같이 상정되고 있습니다. 2 bar 100 foo 300 tuu 절대 수치를 기준으로 숫자로 구성된 필드를 정렬하려면 어떻게 해야 합니까?man 페이지를 살짝 들여다보면... -n, --numeric-sort compare according to string numerical value 여기 예가 있습니다. sort -n filename 텍스트와 숫자가 혼재된 문자열을 정렬하는 경우(예를 들어 롤링 로그의 파일 이름 등)로 정렬합니다.sort -n가 예상대로 동작하지 않습니다. $ ls |sort..

programing 2023.04.23
반응형