반응형

bash 28

셸 명령이 실행될 때 에코하는 방법

셸 명령이 실행될 때 에코하는 방법 셸 스크립트에서 호출된 모든 셸 명령을 반향하고 변수 이름을 확장하려면 어떻게 해야 합니까? 예를 들어, 다음 행이 주어집니다. ls $DIRNAME 스크립트에서 명령을 실행하고 다음을 표시합니다. ls /full/path/to/some/dir 이 목적은 호출된 모든 셸 명령과 해당 인수의 로그를 저장하는 것입니다.이러한 로그를 생성하는 더 좋은 방법이 있을까요?set -x또는set -o xtrace변수를 확장하고 줄 앞에 + 기호를 약간 인쇄합니다. set -v또는set -o verbose에서는 인쇄하기 전에 변수를 확장하지 않습니다. 사용하다set +x그리고.set +v위의 설정을 해제합니다. 스크립트의 첫 줄에 다음과 같이 입력할 수 있습니다.#!/bin/sh -..

programing 2023.04.28

오류 발생 시 스크립트 종료

오류 발생 시 스크립트 종료 나는 다음이 있는 셸 스크립트를 만들고 있습니다.if다음과 같은 기능: if jarsigner -verbose -keystore $keyst -keystore $pass $jar_file $kalias then echo $jar_file signed sucessfully else echo ERROR: Failed to sign $jar_file. Please recheck the variables fi ... 오류 메시지를 표시한 후 스크립트 실행이 완료되기를 원합니다.어떻게 해야 돼요?스크립트를 입력하면 스크립트 내부의 명령이 실패하는 즉시(즉, 명령이 0이 아닌 상태를 반환하는 즉시) 종료됩니다.이렇게 하면 사용자가 직접 메시지를 작성할 수는 없지만 실패한 명령의 자체 메..

programing 2023.04.28

환경변수가 존재하는지 확인하고 그 값을 얻는 방법

환경변수가 존재하는지 확인하고 그 값을 얻는 방법 이 질문에는 이미 답변이 있습니다. 변수가 Bash에 설정되어 있는지 확인하는 방법 (38 회답) 닫힘4년 전에요. 나는 조개 대본을 쓰고 있다.이 셸 스크립트에서는 기본값 또는 환경변수 값을 사용하는 변수가 있습니다.단, 환경변수가 존재할 필요는 없습니다. 예를 들어 스크립트를 실행하기 전에 다음 작업을 수행한다고 가정합니다. export DEPLOY_ENV=dev 이 환경변수를 검색하도록 스크립트에 지시하고 스크립트 내의 변수에 값을 저장하려면 어떻게 해야 합니까?또한 이 환경변수가 존재하지 않는 경우 기본변수를 저장하도록 스크립트에 지시하려면 어떻게 해야 합니까?[ -z "${DEPLOY_ENV}" ]체크할지를 확인합니다.DEPLOY_ENV길이가 0..

programing 2023.04.23

특별한 달러 기호 셸 변수는 무엇입니까?

특별한 달러 기호 셸 변수는 무엇입니까? Bash에는 특별한 일관된 의미 값을 갖는 변수가 여러 개 있는 것으로 보입니다.예를 들어. ./myprogram &; echo $! 백그라운드된 프로세스의 PID를 반환합니다.myprogram다른 사람을 알고 있습니다.$?현재의 TTY라고 생각합니다.다른 이들이 있나요? $1,$2,$3, ...는 위치 파라미터입니다. "$@"는 모든 위치 파라미터의 배열과 같은 구성입니다.{$1, $2, $3 ...}. "$*"모든 위치 파라미터의 IFS 확장입니다.$1 $2 $3 .... $#는 위치 파라미터의 수입니다. $-셸에 설정된 현재 옵션. $$(서브셸이 아닌) 현재 셸의 pid. $_최신 파라미터(또는 시작 후 즉시 현재 셸을 시작하는 명령어 abs 경로) $IFS..

programing 2023.04.23

이미 실행 중인 프로세스를 nohup에 넣는 방법은 무엇입니까?

이미 실행 중인 프로세스를 nohup에 넣는 방법은 무엇입니까? 이미 장시간 진행 중인 프로세스가 있어 종료하고 싶지 않습니다. nohup(단말기를 닫아도 계속 작동시키는 방법)으로 하려면 어떻게 해야 합니까?bash의 Job Control을 사용하여 프로세스를 백그라운드로 전송합니다. Ctrl+Z 프로그램을 중지(정지)하고 쉘로 돌아갑니다. bg이치노 disown -h [job-spec]여기서 번호입니다(예: [job-spec]).%1중인 의 경우, "", "번호 검색", "번호 검색", "번호 검색"jobscommand를 사용하면 터미널이닫혔을 때 되지 않습니다.command) 어떤 이유로 Z+도 동작하지 않는 경우 다른 단말기로 이동하여 프로세스 ID를 찾습니다(사용 방법).ps를 실행해 주세요: ..

programing 2023.04.23

cd -'는 무엇의 약자입니까?

cd -'는 무엇의 약자입니까? 오늘 bash 셸 스크립트에서 스크립트 끝에 다음 명령어가 있음을 알 수 있었습니다.뭔지 알아cd하지만 나는 그 뒤에 있는 대시의 중요성을 알지 못한다. cd - 이것은 무엇을 의미합니까?구글은 순진하게 잘라서-답을 못 찾겠어요.단일 대시를 인수로 지정하면 다음 값으로 대체됩니다.OLDPWD. 그OLDPWD에 의해 설정됩니다.cd명령어로 이전 작업 디렉토리입니다.cd -는, 이전의 디렉토리로 돌아옵니다. 예: marcelo@marcelo:~$cd/optmarcelo@marcelo:/opt$cd /usr/binmarcelo@marcelo:/usr/bin$ cd -/optmarcelo@marcelo:/opt$ /opt에서 /usr/bin으로 변경 후 /opt로 되돌아가서cd ..

programing 2023.04.23

Bash를 사용할 때 이스케이프해야 하는 문자는 무엇입니까?

Bash를 사용할 때 이스케이프해야 하는 문자는 무엇입니까? Bash에서 이스케이프해야 하는 캐릭터의 포괄적인 리스트가 있습니까?sed 저는 '아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아.%탈출해야 할지 말아야 할지.는 시도했다. echo "h%h" | sed 's/%/i/g' 일을 %. 그 말은%출할할 필요? ???이것이 필요성을 확인하는 좋은 방법이었나요? 좀 더 은, 이 두 글자가 인가 하는 것입니다.shell ★★★★★★★★★★★★★★★★★」bash두 가지 쉽고 안전한 규칙이 있습니다.sh, '''도 마찬가지입니다''bash. 1. 스트링 전체를 작은 따옴표로 묶는다. 이것은 단일 따옴표 자체를 제외한 모든..

programing 2023.04.19

Bash에서 파일을 효율적으로 변환하는 방법

Bash에서 파일을 효율적으로 변환하는 방법 이렇게 포맷된 큰 탭 구분 파일이 있습니다. X column1 column2 column3 row1 0 1 2 row2 3 4 5 row3 6 7 8 row4 9 10 11 bash 명령어만을 사용하여 효율적으로 변환하고 싶다(Perl 스크립트를 10줄 정도 쓸 수 있지만 네이티브 bash 함수보다 실행 속도가 느릴 수 있다).따라서 출력은 다음과 같아야 합니다. X row1 row2 row3 row4 column1 0 3 6 9 column2 1 4 7 10 column3 2 5 8 11 나는 이런 해결책을 생각해 냈다. cols=`head -n 1 input | wc -w` for (( i=1; i > output done 하지만 속도가 느리고 가장 효율적..

programing 2023.04.19

Bash 스크립트에서 프로그램이 존재하는지 확인하려면 어떻게 해야 합니까?

Bash 스크립트에서 프로그램이 존재하는지 확인하려면 어떻게 해야 합니까? 에러를 반환하고 종료하거나 스크립트를 계속 실행하는 방법으로 프로그램이 존재하는지 확인하려면 어떻게 해야 합니까? 쉬워야 할 것 같은데 자꾸 날 당황하게 해.정답. POSIX 지원: command -v 사용 예: if ! command -v &> /dev/null then echo " could not be found" exit fi Bash 고유의 환경의 경우: hash # For regular commands. Or... type # To check built-ins and keywords 설명. which을 위해hash,type ★★★★★★★★★★★★★★★★★」command훨씬 저렴합니다).또한 빌트인에 의존하여 실제로 원하..

programing 2023.04.19

Bash에서 "if" 문의 "and" 연산자

Bash에서 "if" 문의 "and" 연산자 웹 사이트가 다운되었는지, 어떤 이유로 "and" 연산자가 작동하지 않는지 확인하기 위해 간단한 Bash 스크립트를 작성하려고 합니다. #!/usr/bin/env bash WEBSITE=domain.example SUBJECT="$WEBSITE DOWN!" EMAILID="an@email.example" STATUS=$(curl -sI $WEBSITE | awk '/HTTP\/1.1/ { print $2 }') STRING=$(curl -s $WEBSITE | grep -o "string_to_search") VALUE="string_to_search" if [ $STATUS -ne 200 ] && [[ "$STRING" != "$VALUE" ]]; then ..

programing 2023.04.19
반응형