«shell-script» 태그된 질문

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

1
옵션이 아닌 인수 다음에 옵션을 구문 분석하기 위해 getopts 사용
나는 다음과 같이 파일에 bash 스크립트를 가지고 있는데 nepleaks_upd.sh, 실행하고 싶다 ./nepleaks_upd.sh bootstrap --branch off. 걸릴 수 --branch는 없지만 작동하는 것은 ./nepleaks_upd.sh bootstrap -b off입니다. usage() { echo "Usage: $0 [prepare | up | down] [-b <on/off>]" 1>&2; exit 1; } case "$1" in bootstrap) while getopts ":b:" o; do …

1
inotify를 사용하여 디렉토리를 모니터링하지만 100 % 작동하지 않음
특정 디렉토리를 모니터링하기 위해 bash 스크립트를 작성했습니다 /root/secondfolder/. #!/bin/sh while inotifywait -mr -e close_write "/root/secondfolder/" do echo "close_write" done 호출 fourth.txt된 파일을 작성하고 파일 /root/secondfolder/을 쓰고 저장하고 닫으면 다음과 같이 출력됩니다. /root/secondfolder/ CLOSE_WRITE,CLOSE fourth.txt 그러나 "close_write"를 에코하지 않습니다. 왜 그런 겁니까?

3
쉘 스크립트를 가상 프린터로 사용
PDF 파일을 인수로 사용하여 추가 프린터 특정 옵션으로 인쇄하는 쉘 스크립트가 있습니다. 이 스크립트를 GUI에서 선택할 수있는 가상 프린터로 추가하려면 어떻게해야합니까? 쉘 스크립트는 PDF 파일을 가져와 짝수 페이지를 인쇄하며 사용자에게 페이지를 넘기도록 요청하는 zenity를 사용하여 홀수 페이지를 인쇄하는 수동 양면 인쇄 스크립트입니다. 현재 진행중인 작업 과정은 다음과 같습니다. 파일-> 인쇄-> …

2
스크립트 출력 사본을 파일로 보내기
Zsh 스크립트가 있고 출력을에 인쇄 STDOUT하고 출력을 디스크의 파일로 복사 (덤프) 한다고 가정 해보십시오 . 또한 스크립트는 다음 옵션으로 시작합니다 set -o xtrace 이 명령은 장황하게 설명하고 실행하는 명령을 인쇄합니다. 디스크의 파일 에서이 출력을 캡처하고 싶습니다. 내 이해는 내가 할 경우 ./my_script.sh > log.txt 그냥 보내드립니다 STDOUT에 log.txt,하지만 나는 또한 …

2
나중에 사용할 때가 아니라 문자열을 만들 때 문자열의 Bash 명령이 실행됩니다.
저는 쉘 스크립팅을 처음 접 했지만 lftp 프로그램을 사용하는 스크립트를 거의 완성했습니다 . 문제가있는 스크립트 부분은 긴 문자열을 만들 때입니다 (로 구분 ;). for var in something do ... commands_to_run+="echo Result is `tail -n 1 $somefile`;" done 내가 주목하는 것은 tailfor 루프가 반복 될 때 백틱으로 래핑 된 프로그램이 실행되고 …

2
모든 gpg 하위 키 비밀번호를 한 번에 캐시 하시겠습니까? 여러 gpg 비밀번호 입력이 필요하지 않습니까?
gpg 비밀번호를 한 번만 입력하고 모든 하위 키 (서명, 암호 해독, 인증)를 잠금 해제 할 수 있습니까? 현재 gpg 비밀번호를 세 번 입력해야합니다 (서명, 암호 해독, 인증). 불편합니다. 쉘 스크립트를 생각해 보았습니다. #!/bin/bash set -x set -e set +o history signing_key=77BB3C48 encryption_key=CE998547 tempfile="$(mktemp)" echo "test" > testfile unset passphrase || …

2
zsh의 지역 변수 : zsh에서 bash의 "export -n"에 해당하는 것은 무엇입니까
zsh에서 변수의 범위를 쉘에 포함시키고 자식이 보지 못하게하려고합니다. 예를 들어 이것을 .zshrc에 입력하십시오. GREP_OPTIONS=--color=always 그러나 다음과 같이 쉘 스크립트를 실행하면 : #!/bin/bash echo $GREP_OPTIONS 출력은 다음과 같습니다. --color=always 나는 그것이 null이되기를 원합니다 (위의 쉘 스크립트는 GREP_OPTIONS 변수를 전혀 보지 않아야합니다). bash에서는 다음 export -n GREP_OPTIONS=--color=always과 같이 말할 수 있습니다 . …


4
bash 함수에서 값 반환
숫자가 유효한 10 자리 숫자 인 경우 1을 반환하는 함수가 있습니다. valNum() { flag=1 if [[ $1 != [1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] ]]; then echo "Invalid Number" flag=0 fi return $flag } 다음에 의해 호출됩니다. if [[ $(valNum $num) -eq 1 ]]; then #do something fi 숫자가 유효하면 함수가 제대로 작동하지만 유효하지 않은 …

3
SQL 쿼리의 출력을 변수에 지정
Oracle 데이터베이스에 연결하고 쿼리를 실행하고 출력을 변수에 할당하지만 변수 값을 에코하면 올바르게 인쇄되지 않습니다. count=`sqlplus -s $configuser/$configpass@$ORACLE_SID <<END set pagesize 0 feedback off verify off heading off echo off; select max(cust_id) from cutomers exit; END` echo $count 쿼리는 데이터베이스에서 실행될 때 올바른 결과를 반환합니다. 그러나 "count"변수의 값이 잘못되었습니다.

5
요일을 기준으로 If-Else 쿼리를 사용하려면 어떻게합니까?
문제점 : 오늘이 목요일인지 확인하고이 조건의 결과에 따라 다른 조치를 수행해야합니다. 나는 두 가지 다른 접근법을 시도했다. 요일 이름 얻기 : DAYOFWEEK=$(date +"%a") echo DAYOFWEEK: $DAYOFWEEK if ["$DAYOFWEEK" == "Thu"]; then echo YES else echo NO fi 날 숫자 얻기 : DAYOFWEEK=$(date +"%u") echo DAYOFWEEK: $DAYOFWEEK if ["$DAYOFWEEK" == 4]; …

2
시간을 비교하는 좋은 방법?
적절한 시간이 아니라면 현재 시간을 확인하고 스크립트를 중단해야합니다. 또한 다른 사람이 실행하면 중단해야합니다. 예를 들어, 10 시부 터 오전 2시 (4 시간) 사이에 스크립트를 시작한 경우에만 스크립트를 실행해야합니다. 현재 나는 다음을하고있다. date +%k%M하드 코딩 된 숫자로 시간을 보내고 비교 #!/bin/sh currTime=`date +%k%M` check_time_to_run() { tempTime=$1 if [ $tempTime -gt 200 …

1
동일한 내용의 디렉토리에서 모든 폴더 찾기
우분투에서 디렉토리에서 중복 폴더를 찾을 수 있습니까 (즉, 동일한 내용의 폴더)? 중복 파일 (예 : fdupes)을 찾는 데 사용할 수있는 명령 줄 도구가 이미 있다고 생각하지만 대신 중복 폴더를 찾고 싶습니다. 즉, 파일 이름과 기타 메타 데이터가 다를 수 있지만 포함 된 파일의 내용과 일치하는 폴더를 찾으십시오.

3
쉘 스크립트는 여전히 #!없이 작동합니다 (sha-bang line)
나는 쉘 스크립트를 처음 접했고 스크립트 시작시 #! (sha-bang) 줄을 사용하여 인터프리터를 호출하는 많은 책을 썼다. 내 기본 스크립트 중 여전히 마법 줄없이 실행 중입니다. 그래서 내 질문은 : 내 기본 스크립트는 어디에서 통역사를 얻었습니까? 스크립트가 어떻게 통역사를 찾게 되었습니까? 이제 기본 스크립트에 대해 설명하겠습니다. 다음 줄만 포함되어 있습니다. echo …

3
FreeBSD에서 시작할 때 실행할 스크립트를 어떻게 설정합니까?
FreeBSD 9를 사용하고 있으며 이더넷 케이블이 연결되어 있는지 확인하고 연결되어 있는지 확인하는 스크립트를 만들고 싶습니다. 기계가 시작될 때마다 또는 로그인 할 때마다 실행되도록 설정하고 싶습니다. UNIX 책을 보았습니다. crontab,하지만 시작할 때가 아니라 특정 시간에 작업을 수행하기 위해이 작업을 수행 할 수 있습니다. 누군가 내가 어떻게 이것을 얻을 수 있는지 말해 …

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