«bash-scripting» 태그된 질문

Bash 스크립팅은 Bash 쉘 언어로 스크립트를 작성합니다.

2
링크 대상의 전체 경로를 얻는 방법
나는 심볼릭 링크가있는 경우 /var/opt/foo로 생성을 ln -fs /path/to/target/dir foo. 링크 만 보는 스크립트에서 어떻게 할 수 /path/to/target/dir있습니까? 내가 스크립트에서 달성하고자하는 것은 내가 rm -rf /path/to/target/dir하기 전에 ln -fs /path/to/another/dir foo입니다.


2
종료 된 부속 명령으로 파이핑 할 때 왜 bash while 루프가 종료되지 않습니까?
아래 명령이 왜 종료되지 않습니까? 종료하지 않고 루프가 무한정 실행됩니다. 더 복잡한 설정을 사용하여이 동작을 발견했지만 가장 간단한 명령 형식은 다음과 같습니다. 종료하지 않습니다 : while /usr/bin/true ; do echo "ok" | cat ; done | exit 1 위의 오타가 없습니다. 각 '|' 파이프입니다. 'exit 1'은 실행 및 종료 된 …


1
Chrome과의 자동 상호 작용
좋아, 나는 재미난 너트가있다. 스노우 레오파드 (Snow Leopard)를 실행하는 하나의 소박한 G5 (예, 그래픽 카드 4 개, 너비 약 15,000 픽셀)에 8 개의 스크린을 설치했습니다. 각기 다른 URL을 가리키는 8 개의 Chrome 브라우저 창을 전체 화면으로 표시하는 데모를 설정하고 있습니다. 컴퓨터를 다시 시작할 때마다이 작업을 수동으로 수행하는 것은 고통 스럽습니다. …

4
"source"를 사용하여 스크립트를 실행할 때 설정을 올바르게 복원하는 방법은 무엇입니까?
source환경을 수정하는 것이기 때문에를 사용하여 실행 해야하는 스크립트를 작성 중입니다. 스크립트 중에 set -e오류가 스크립트를 중지 하도록 사용하고 싶습니다 . 스크립트는 다음과 같습니다. #!/bin/bash set -e # do something cd somewhere source anotherScript 문제는 set -e스크립트가 끝난 후에도 자연스럽게 적용 된다는 것 입니다. set스크립트가 중지되면 변경된 옵션이 이전 값으로 올바르게 …

2
스크립트에 의해 생성 된 모든 자식 프로세스의 목록을 얻는 방법
문맥: 사용자는 실행할 사용자 정의 스크립트를 제공합니다. 이 스크립트는 여러 GUI 프로그램, 백엔드 서비스를 시작하는 스크립트와 같은 종류 일 수 있습니다. 스크립트 작성 방법을 제어 할 수 없습니다. 이러한 스크립트는 차단 유형이 될 수 있습니다. 즉, 모든 하위 프로세스 (순차적으로 실행되는 프로그램)가 종료 될 때까지 실행 대기 #exaple of blocking …

1
sed가 일치하지 않는 줄을 생략하는 방법?
다음 예제에서는 a 또는 a로 sed시작하는 행을 일치 시키고 해당 행의 첫 번째 문자 ( 또는 ) 를 인쇄합니다 .acac $ echo "ag bh ci dj ek fl" | sed 's/\(a\|c\)./\1/' # Matches lines starting with 'a' or 'c'. output: a bh c dj ek fl 그러나 패턴과 일치하지 않는 …

3
두 개의 자식 프로세스를 연속적으로 만드는 데 어떤 명령을 사용해야합니까?
두 개의 자식 프로세스를 생성하고 싶지만 두 번째 자식 프로세스를 생성하기 전에 첫 번째 실행 프로세스 (stdout을 검사하여 결정할 수 있음)의 특정 지점에 도달 할 때까지 기다립니다. 나는 이것을 달성하는 데 어떤 유닉스 명령이 포함 될지 확신하지 못하고 유닉스 명령 이름의 간결하고 때로는 비밀스런 성격으로 인해 Google을 통해 무엇이든 찾는 …

3
sed를 사용한 사용자 정의 문자열 공간 조작
다음 명령 : head -n 1 $FILE | tail -n 1 1 행의 텍스트를 가져옵니다. $FILE. 각 행의 형식은 다음과 같습니다. $FILE 다음과 같다: 1 2 3 4 2 3 3 4 5 4 5 6 7 8 9 보시다시피, 각 문자는 하나의 공백으로 구분됩니다. 각 그룹은 두 개의 공백으로 …

2
이전에 처리되지 않은 폴더의 파일 처리
스크립트를 사용하여 조치를 수행해야하는 일련의 파일이 디렉토리에 있습니다. 작업이 완료되면 파일이 처리되었다는 로그를 유지하여 다음에 스크립트를 실행할 때 작업을 다시 수행하지 않습니다. 따라서 다음과 같이 처리 해야하는 모든 파일을 찾을 수 있다고 가정 해 보겠습니다. for i in `find /logfolder -name '20*.log'` ; do process_log $i echo $i >> processedlogsfile …

3
일부 명령이 입력 리디렉션을 사용하지 않는 이유는 무엇입니까?
예를 들어 echo : [aesteban@localhost ~]$ cat tmp.txt Angel [aesteban@localhost ~]$ echo < tmp.txt [aesteban@localhost ~]$ 보다시피, 출력은 단지 빈 줄입니다. 내 독서에 따르면 일부 명령은 입력 리디렉션을 취할 수 있습니다 (예 : mail) . [aesteban@localhost ~]$ mail barney@example.com < tmp.txt 입력 리디렉션은 대화 형 명령 (입력을 기다릴 수있는 명령)에만 …

2
단어 분할 내 인용문을 볼 수 없습니다.
내가 이것을 가지고 있다고 상상해 보라. $ ARGS='"a b" c' $ for arg in "$ARGS"; do echo "$arg"; done "a b" c $ for arg in $ARGS; do echo "$arg"; done "a b" c 내가 얻고 자하는 결과는 $ <???> a b c 나는 이것에 대해 어떻게 갈 것인가? 감사.

2
하위 명령 오류가 발생하면 Bash for 루프가 종료되지 않는 문제를 해결하는 방법은 무엇입니까?
쉘 스크립트 a for a 루프가 있습니다. #!/bin/bash set -u set -e for l in sh rb py php java cs; do (cd $l; ./run-tests.sh) done 하위 명령 중 하나가 비슷하게 오류가 발생하면 for-loop 다이를 발생시키는 것이 목적입니다. 이제 (cd $l; ./run-tests.sh) || die "Message here"적절한 해결 방법과 함께 해결 …

2
자식 로그 자동 새로 고침을 보는 방법
나는 저에게해야 할 스크립트를 만들려고합니다. git log 매 1 초마다 새로 고침합니다. 이것이 내가 가진 것입니다 : while : do clear git log --all --decorate --oneline --graph sleep 1 done 그것은 작동하지 않기 때문에 git log 사용자가 명중하기를 기다린다. q 종료하고 루프가 멈추게됩니다. 이 문제를 어떻게 해결할 수 있습니까?

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