«shell-script» 태그된 질문

쉘 스크립트, 쉘로 해석되는 실행 파일 (bash, zsh 등)에 대한 질문.

3
if 조건의 대괄호 : 공백없이 구문 오류가 발생하는 이유는 무엇입니까?
아래 스크립트를 사용하여 일년 중 이틀에 스크립트를 실행할 때 이틀 뒤로 이동하고 매월 첫 번째와 두 번째 날을 확인하고 이틀 뒤로 이동합니다. if [$month="01"] && [$day="01"]; then date="$last_month/$yes_day/$last_year" fulldate="$last_month/$yes_day/$last_year" else if [$month="01"] && [$day="02"]; then date="$last_month/$yes_day/$last_year" fulldate="$last_month/$yes_day/$last_year" else if [ $day = "01" ]; then date="$last_month/$yes_day/$year" fulldate="$year$last_month$yes_day" else if [ …

1
스크립트 디버깅, -x와 -euxo pipefail 설정의 차이점은 무엇입니까?
스크립트를 디버깅하는 주요 방법 -x은 shabang ( #!/bin/bash -x)에 추가 하는 것 입니다. 나는 최근 set -euxo pipefail에 다음과 같이 shabang 바로 아래에 새로운 방법을 발견 했습니다. #!/bin/bash set -euxo pipefail 두 가지 디버깅 방법의 주요 차이점은 무엇입니까? 다른 것보다 선호하는 시간이 있습니까? 신입생으로서 여기를 읽은 후에는 그런 결론을 추출 …


3
디렉토리 경로의 마지막 슬래시를 제거하는 방법?
하나의 인수로 디렉토리가 필요한 스크립트가 있습니다. 나는 두 가지 형태를 지원하고 싶다 : 하나는 같다 a/b/c (끝에 슬래시 없음) 다른 하나는 a/b/c/ (끝에 슬래시가 있음). 내 질문 : 두 양식 중 하나가 주어지면 첫 번째 양식을 변경하지 않고 두 번째 양식의 마지막 슬래시를 제거하여 첫 번째 양식으로 변환하는 방법은 무엇입니까?

3
Bash 스크립트 소싱-Exit 대신 Error on Return?
난 터미널에서 떠들썩한 파티 스크립트를 소싱 그래서 함께 오류에 종료, set -o errexit 터미널을 닫고 다른 터미널을 열고 일부 변수를 재설정해야하기 때문에 EXTREMELY ANNOYING 터미널을 죽입니다. 지금까지 command || return 스크립트에서 라인은 내가 원하는 것을 정확하게하고 있습니다. set -o errexit 해야 할 일 ... 그러나 나는 전체 스크립트를 위해 그것을 …


4
모든 사용자 이름 및 / 또는 홈 디렉토리를 어떻게 나열합니까?
컴퓨터의 모든 사용자 디렉토리를 나열하고 싶습니다. ls -l /home 그러나 나는 다른 컴퓨터에 배포 될 스크립트에서 사용하며 어쩌면 집으로 부르지 않는 컴퓨터 (예 : myHome)에 사용합니다. 그래서 나는 그것을 일반화하고 싶습니다 ls -l ~. 그러나 모든 사용자의 홈 디렉토리 이름 대신 내 사용자의 홈 디렉토리를 나열합니다 (기본적으로 컴퓨터에서 사용자 이름 …

6
스크립트 시작 후 해석기 선택 (예 : hashbang 내부의 if / else)
스크립트를 실행하는 인터프리터를 동적으로 선택할 수있는 방법이 있습니까? 두 개의 다른 시스템에서 실행중인 스크립트가 있는데 사용하려는 인터프리터가 두 시스템의 다른 위치에 있습니다. 내가 끝내야 할 것은 전환 할 때마다 해시 뱅 라인을 변경하는 것입니다. 나는 이것과 논리적으로 동등한 것을하고 싶습니다 (이 정확한 구조는 불가능하다는 것을 알고 있습니다). if running on …

1
간격을 남기면서 오디오 파일에서 무음 제거
현재 오디오 스크립트에서 침묵을 제거하기 위해 쉘 스크립트 내에서이 명령을 사용하고 있습니다 : ffmpeg -i $INFILE -af silenceremove=0:0:0:-1:1:${NOISE_TOLERANCE}dB -ac 1 $SILENCED_FILE -y 이것은 모든 묵음을 제거하여 나머지 오디오가 함께 압착되는 것을 제외하고는 잘 작동합니다. 각 오디오 사이에 2 초 또는 3 초를 두면서 어떻게이 작업을 수행 할 수 있습니까? 이 …

1
이 bash 포크 폭탄은 왜 다르게 작동하며 &의 의미는 무엇입니까?
일반적인 포크 폭탄의 작동 방식을 알지만 일반적인 bash 포크 폭탄의 끝에 &가 필요한 이유와 이러한 스크립트가 다르게 동작하는 이유를 이해하지 못합니다. :(){ (:) | (:) }; : 과 :(){ : | :& }; : 전자는 로그인 화면으로 돌아 가기 전에 CPU 사용량을 급증시킵니다. 후자는 대신 시스템이 정지되어 하드 재부팅을 강제합니다. …

5
많은 수의 큰 파일을 빠르게 압축
매일 생성되는 약 200GB의 로그 데이터가 있으며 약 150 개의 서로 다른 로그 파일로 분산됩니다. 파일을 임시 위치로 옮기고 임시 디렉토리에서 tar-bz2를 수행하는 스크립트가 있습니다. 200GB 로그가 약 12-15GB로 압축되어 좋은 결과를 얻습니다. 문제는 파일을 압축하는 데 시간이 오래 걸린다는 것입니다. 크론 작업은 매일 오전 2:30 실행하고 5까지 계속 실행 …

5
이것은 bash의 버그입니까? `return`은 파이프에서 호출 된 경우 기능을 종료하지 않습니다
요즘 배쉬에 이상한 문제가 있습니다. 스크립트를 단순화하려고 할 때이 작은 코드 조각을 생각해 냈습니다. $ o(){ echo | while read -r; do return 0; done; echo $?;}; o 0 $ o(){ echo | while read -r; do return 1; done; echo $?;}; o 1 return인쇄하지 않고 기능을 종료 $?했어야합니까? 그럼 …

4
다른 파일의 두 열을 비교하고 일치하면 인쇄
Solaris 10을 사용하고 있으므로 -f와 관련된 grep 옵션이 작동하지 않습니다. 파이프로 구분 된 두 개의 파일이 있습니다. file1 : abc|123|BNY|apple| cab|234|cyx|orange| def|kumar|pki|bird| 파일 2 : abc|123| kumar|pki| cab|234 일치하는 file1 행을 인쇄하는 경우 file2의 처음 두 열을 file1과 비교합니다 (처음 두 열에서 file1의 전체 내용을 검색). 그런 다음 파일 2의 …

4
키가 이미있는 경우 ssh-add를 조용히하십시오.
ssh-add /path/to/special_key스크립트 상단에 넣고 싶습니다 . 이것은 잘 작동하지만 항상 암호 문구를 요구합니다. ssh-add -l키가 이미 추가 된 것을 보여 주더라도 여전히 암호 문구를 요구하기 때문에 이것은 이상하고 약간 성가시다 . "이 키를 추가하고 암호가 아직 추가되지 않은 경우 묻지 않으면 아무 것도하지 마십시오"라고 알려주는 방법이 있습니까?

5
상태 저장 bash 기능
Bash에서 모든 호출마다 카운트를 늘리고 반환하는 함수를 구현하고 싶습니다. 불행히도 이것은 하위 쉘 내부에서 함수를 호출하기 때문에 사소하지 않은 것처럼 보이므로 결과적으로 상위 쉘의 변수를 수정할 수 없습니다. 내 시도는 다음과 같습니다. PS_COUNT=0 ps_count_inc() { let PS_COUNT=PS_COUNT+1 echo $PS_COUNT } ps_count_reset() { let PS_COUNT=0 } 이것은 다음과 같이 사용됩니다 (따라서 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.