«bash» 태그된 질문

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


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

7
디렉토리 트리 / 파일 이름 사용시 컴팩트 bash 프롬프트
우분투 14.04와 가진 시스템에서 bash, 나는이 PS1다음과 같은 내용으로 끝나는 변수를 : \u@\h:\w\$ 프롬프트가 다음과 같이 표시되도록 user@machinename:/home/mydirectory$ 그러나 때로는 현재 디렉토리의 이름이 길거나 이름이 긴 디렉토리 안에 있으므로 프롬프트가 다음과 같이 표시됩니다. user@machinename:/home/mydirectory1/second_directory_with_a_too_long_name/my_actual_directory_with_another_long_name$ 이것은 터미널의 줄을 채우고 커서는 다른 줄로 이동하여 성가시다. 대신에 다음과 같은 것을 얻고 싶습니다 user@machinename:/home/mydirectory1/...another_long_name$ …

2
bash 파이프 라인에서`yes`를 사용하면 왜 무한 루프가 발생합니까?
문서에 따르면 bash는 파이프 라인의 모든 명령이 실행을 마칠 때까지 기다렸다가 계속합니다. 쉘은 값을 리턴하기 전에 파이프 라인의 모든 명령이 종료되기를 기다립니다. 그렇다면 왜 명령 yes | true이 즉시 완료됩니까? yes루프를 영원히 유지 해서는 안되며 파이프 라인이 다시 반환되지 않아야합니까? 그리고 subquestion는 다음에 따라 POSIX 사양 , 쉘 파이프 라인은 …
16 bash  shell  pipe 

2
“</ dev / null”은 무엇을 의미합니까?
나는 블랙홀처럼 행동하는 &gt; /dev/null것을 리디렉션한다는 것을 이해 /dev/null합니다. 그러나 나는 무슨 &lt; /dev/null뜻 인지 이해하지 못합니다 . 다음과 같이 작성된 스크립트를 보았습니다. nohup myprogram &gt; foo.out 2&gt; foo.err &lt; /dev/null &amp; 그럼,하지 &lt; /dev/null평균 위의 코드에서? 다음은 제안 된 예입니다 .
16 bash 

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인쇄하지 않고 기능을 종료 $?했어야합니까? 그럼 …

2
파이프와 here 문자열을 사용한 리소스 사용량
에서 다음 두 가지를 사용하여 동일한 결과를 얻을 수 있습니다 bash. echo 'foo' | cat 과 cat &lt;&lt;&lt; 'foo' 내 질문은 사용 된 자원에 관한 한이 두 가지의 차이점은 무엇이며 어느 것이 더 낫습니까? 내 생각은 파이프를 사용하는 동안 우리는 여분의 프로세스 echo와 파이프를 사용하고 여기 문자열에서는 파일 설명자 만 …
16 bash  pipe  resources 


6
Shell :“2588 가능성을 모두 표시 하시겠습니까?”
그래서 랩톱을 옮기고 (키보드에 물건을 놓는 나쁜 습관이 있습니다 ...)이를 깨우기 위해 깨어났습니다. $ 2588 개의 가능성을 모두 표시 하시겠습니까? (y 또는 n) 어떤 명령이 이런 식으로 표시됩니까? Bash를 사용하고 있습니다.
16 bash  shell 

2
bash에서`set -k` 옵션의 실제 사용법
set -kbash에서 언제 옵션을 사용 합니까? Bash 참조 매뉴얼에 따르면 대 입문 형식의 모든 인수는 명령 이름 앞에 오는 인수뿐만 아니라 명령의 환경에 배치됩니다. 옵션의 기능을 이해하지만 언제 필요할지 상상할 수 없었습니다.
16 bash  shell 

1
쉼표로 구분 된 값에 대한 대쉬 완료
쉼표로 구분 된 매개 변수 목록에 대한 완료 규칙을 작성하고 싶습니다. 예를 들어 서버 이름 목록을 수신하는 명령이 있습니다. myscript -s name1,name2,name3 이 시점에서 나는 다음과 같이 완성했습니다. _myscript () { local cur prev opts _get_comp_words_by_ref cur prev opts='-s' servers='name1 name2 name3' if [[ ${cur} == -* ]] ; then …

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 } 이것은 다음과 같이 사용됩니다 (따라서 …

4
현재 디렉토리의 모든 pdf를 png로 변환
현재 디렉토리의 bash모든 .pdf파일을 파일 로 변환 하는 스크립트 를 작성하고 싶습니다 .png. 예를 들면 다음과 같습니다. $ls . a.pdf b.pdf $./pdf2png.sh Converting pdfs to pngs a.pdf -&gt; a.png b.pdf -&gt; b.png 이것은 나의 최선의 시도이다 : #!/bin/bash convert -verbose -density 500 -resize '800' a.pdf a.png convert -verbose -density 500 …
16 bash  imagemagick 

4
readline에서 vi 편집 모드로 전환하려면 어떻게합니까?
readline 환경에서 vi 편집 모드로 전환하고 싶습니다. 그러나 'set -o vi'를 사용하고 싶지 않습니다. 키보드 단축키를 사용하여 일시적으로 전환하고 싶습니다. 매뉴얼 페이지에이 작업을 수행 할 수 있다고 M-C-j합니다. 그러나 그것은 나를 위해 작동하지 않습니다. 우분투와 xterm을 사용하고 있습니다. 그놈 터미널에서도 작동하지 않습니다.
16 bash  readline 

5
공백이있는 생성 된 파일 이름 목록을 인수 목록으로 사용
에 의해 수집 된 파일 이름 목록이있는 스크립트를 호출하려고합니다 find. 다음과 같은 특별한 내용은 없습니다. $ myscript `find . -name something.txt` 문제는 일부 경로 이름에 공백이 포함되어 있으므로 인수 확장시 두 개의 유효하지 않은 이름으로 나뉩니다. 일반적으로 이름을 따옴표로 묶을 것이지만 여기에 인용 부호 확장으로 삽입됩니다. find각 파일 이름 의 …

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