«bash» 태그된 질문

다른 Bourne / POSIX 쉘과 달리 GNU의 Bourne Again에 대한 질문. 일반적인 유닉스 쉘에 대한 질문은 / shell 태그를 대신 사용하십시오.

4
삭제시 텍스트 / 화면 깜박임 방지
내 스크립트는 다음과 같은 작업을 수행합니다. while :; clear do_a_lot_of_output_here sleep 1 done 선명하고 출력 할 때 화면이 깜박이지 않도록하는 옵션이 있습니까? 나는 watch명령 에서처럼하고 싶지만 (하지만 작성되었습니다 C). 조언이 있습니까? clear | hexdump -C 00000000 1b 5b 48 1b 5b 32 4a |.[H.[2J| 00000007 추신. 나는 bash단지 사용 하고 …
11 bash 

2
따옴표 붙은 따옴표없는 문자열 확장
for i in $(xrandr); do echo "$i" ; done for i in "$(xrandr)"; do echo "$i"; done for i in "$(xrandr)"; do echo $i; done 1이 2와 다른 이유를 이해하지만 3이 2와 다른 결과를주는 이유는 무엇입니까? 출력도 설명 해주세요. 따옴표는 줄 바꿈에서 어떻게 작동합니까?

10
프로세스가 백그라운드에서 이미 실행 중인지 확인하는 배쉬 방법 (및이를 기반으로 다시 실행 생략)?
프로세스가 아직 백그라운드에서 실행되고 있지 않은 경우 특정 명령 만 실행하는 bash 명령 줄을 만들 수 있습니까? 명령이 이미 실행중인 경우 어떻게 확인 *합니까? (따라서 다음 명령을 추가하여 첫 번째 명령 &&이 참인 경우에만 다음 명령을 실행할 수 있습니다). * : 테스트, 결정, 발견, 발견
11 bash  shell  process 

2
X 윈도우가 나타나거나 사라질 때까지 기다립니다 (정상적인 방식으로)
셸 스크립트 안에서 제목에 문자열이있는 창이 나타날 때까지 기다렸다가 어떤 동작을 수행 한 다음 사라질 때까지 기다렸다가 다른 동작을 수행해야합니다. 어제까지이 간단한 코드가있었습니다. 문제는 스크립트가 실행되는 동안 디스크를 절전 상태로 만들 수 없으며 여러 시간 동안 지속될 수 있다는 것입니다. while :; do until wmctrl -l | grep -q "$string"; …
11 bash  shell  python  window 

2
실행하기 전에 서브 쉘을 확장 하시겠습니까?
나는 종종 서브 쉘을 사용하여 명령을 실행하고 때로는 무언가를 실행하기 전에 서브 쉘을 확장하고 싶습니다. 이런 방식으로 내가하고있는 일을 확인하고 일어날 일을 편집 할 수 있습니다. 예를 들어, 다음 명령 줄을 실행하기 전에 확장하여 서브 쉘의 결과를 편집하려면 어떻게해야합니까? 예 : $ find -name "test.txt" /tmp/test.txt $ mv $(!!) /tmp/new.txt …

4
CPU / 메모리 사용량이 너무 높아지면 프로세스를 자동으로 종료하는 Bash 스크립트
CPU 및 / 또는 메모리 사용량이 80 %에 도달하면 프로세스를 종료하는 스크립트를 작성했습니다. 이 상황이 발생하면 종료 된 프로세스 목록이 작성됩니다. 개선하기 위해 무엇을 할 수 있습니까? while [ 1 ]; do echo echo checking for run-away process ... CPU_USAGE=$(uptime | cut -d"," -f4 | cut -d":" -f2 | cut …

4
평균 파일 크기 계산
디렉토리의 평균 파일 크기를 계산할 수있는 편리한 단일 라이너를 찾고 있습니다. 내가 원하는 것은 : 모든 파일의 크기 / 디렉토리의 파일 수

7
배열 이름의 일부로 변수를 사용하는 방법
두 개의 배열이 있습니다. arrayA=(1 2 3) arrayB=(a b c) 그리고 명령 줄 인수를 사용하여 그중 하나를 인쇄하고 싶습니다 if else. 나는 성공하지 않고 구문에 대해 몇 가지 변형을 시도했다. 나는 이런 식으로하고 싶다 : ARG="$1" echo ${array${ARG}[@]} 그러나 "나쁜 대체"오류가 발생합니다. 어떻게하면 되나요?
11 bash  shell 

4
배쉬 : 캡처 / stdout에서 마지막 (또는 N 번째) 라인 사용
질문 나는 배쉬를 사용한다. 파일을 찾을 때 종종 다음을 수행합니다. find -name stackexchange.hs 그리고 종종 결과는 다음과 같습니다. /youre/the/man/now/dog/stackexchange.hs /you/are/no/longer/the/dog/dog/stackexchange.hs /this/is/the/file/i/want/stackexchange.hs 그런 다음 다음 중 하나를 수행하고 싶습니다. 옵션 1 : vim 의 결과 목록에서 마지막 항목을 엽니 다 . 옵션 2 : vim 의 결과 목록에서 N 번째 항목을 …

2
파일 이름에 공백이있는 스크립트 문제
원격 호스트에서 로컬로 파일을 scp하는 스크립트가 있습니다. 때로는 파일 이름에 공백이 포함되어 있습니다. scp는 파일 이름에서 공백을 좋아하지 않습니다. 어떤 이유로 공간을 처리하려는 시도가 올바른 scp 경로를 얻지 못했습니다. 암호: PATH=/var/root/Documents/MyFile OG-v1.2.3.pkg scp $PATH Me@10.1.10.33:/Users/Me/Desktop 결과 Cannot find directory: var/root/Documents/MyFile Cannot find directory: OG-v1.2.3.pkg PATH를 따옴표로 묶으 "$PATH"면 동일한 오류가 …

4
키 입력으로 Bash 스크립트에서 호출 된 시간 초과를 제거 할 수없는 이유는 무엇입니까?
[편집 : 이것은 생성 된 모든 프로세스를 종료하는 방법을 묻는 다른 질문과 비슷합니다. 그 대답은 모두 pkill을 사용하는 것 같습니다. 제 질문의 핵심은 다음과 같습니다. Ctrl-C / Z를 스크립트에 의해 생성 된 모든 프로세스에 전파 할 수있는 방법이 있습니까?] coreutils rec의 timeout명령 으로 SoX 를 호출 할 때 ( 여기서 …

2
등호 뒤에 경로를 자동 완성하는 bash 완료 스크립트를 작성 하시겠습니까?
나는 형태의 인수를 인식하는 bash는 완료 스크립트를 만들려면 --arg및 --some-arg=file. 이 튜토리얼 과 예제를 읽은 후 /usr/share/bash_completion/completions/Chromium으로 플래그를 입력 할 때 시간을 절약하기 위해 다음 스크립트를 작성했습니다. _chromium() { local cur prev opts COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" # Some interesting options opts=" --disable-web-security --easy-off-store-extension-install --incognito --load-extension= --pack-extension= --pack-extension-key= --user-data-dir= " # …

2
역사를 읽다
read위로 / 아래로 키를 눌러 내장 명령 지원 기록을 작성하려면 어떻게 해야합니까? up 키를 누를 때 잡으려고 시도했지만 작동하지 않는 것 같습니다 read. read -p '> ' -n 3 foo echo echo -n "$foo" | hexdump 화살표 키를 누르면 작동하는 것으로 보이며 이것을 사용하여 감지 할 수 있지만을 누르면 aa↑위쪽 …

5
curl에서 sh로 파이프하기 전에 쉘 스크립트를 읽고 확인하십시오 (curl -s [url] | sh)
웹에서 쉘 스크립트를 실행해야 할 때마다 curl -s [url] | sh먼저 url웹 브라우저에서 스크립트가 악성이 아니고 실행하기에 안전한지 확인하기 위해 엽니 다 . 커맨드 라인에서 스크립트를 읽은 다음 스크립트를 읽은 후 실행을 확인할 수있는 커맨드 라인 트릭을 본 것을 기억합니다. 올바르게 기억 curl -s [url] | something...here | sh하면 소프트웨어 …

2
시간에 따라 두 개의 다른 / etc / hosts
나 자신을 위해 생산성 제품군을 만들려고합니다. 첫 번째 목표는 Facebook, Gmail 및 Stackexchange를 0900에서 1600으로 차단하는 것입니다. 현재, 나는 내 /etc/hostsGmail 을 편집 하고 0.0.0.0 www.facebook.com과 gmail 및 stackexchange를 위해 비슷한 것을 추가했습니다. 그러나 스크립트에 차단 기간을 포함시키는 방법에 대해 약간 혼란 스럽습니다. 내가 다음 2 개 개의 다른 파일 …
11 bash  hosts 

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