«bash» 태그된 질문

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


1
Shellshock Bash 취약점은 어떻게 발견 되었습니까?
이 버그는 많은 플랫폼에 영향을 미치기 때문에이 취약점이 발견 된 프로세스에서 무언가를 배울 수 있습니다. εὕρηκα (eureka) 순간입니까, 보안 검사의 결과입니까? 우리는 Stéphane이 Shellshock 버그를 발견했음을 알고 다른 사람들도 프로세스를 알고있을 수 있기 때문에 버그를 어떻게 찾게되었는지에 관심이있을 것입니다.


3
파일 수가 많은 일부 디렉토리에 대해 Bash에서 탭 완성을 비활성화 하시겠습니까?
디렉토리에 많은 파일을 가지고 작업하고 있습니다. 해당 디렉토리로 이동하여 실수로 Tab두 번 누를 때마다 패턴과 일치하는 파일을 표시하는 데 시간이 오래 걸릴 수 있습니다 (1 분 이상 걸릴 수 있음). 예를 들어 내 디렉토리 구조는 다음과 같습니다. my-project/ ├── docs/ ├── data/ <---- contains around 200k files. └── analyser/ 여전히 …

5
루트 대신 생성 된 파일의 소유자로 사용자 이름을 설정하도록 sudo에 지시하는 방법이 있습니까?
를 수행 sudo cp /etc/foo.txt ~/foo.txt하면 새 파일이 root소유자로 생성됩니다 . 현재 마지막 두 명령을 사용하는 것 외에 다른 방법은 없습니다 ( ls사용 사례를 명확히하기 위해). belmin@server1$ ls /etc/foo.txt > -rw------- 1 root root 3848 Mar 6 20:35 /etc/foo.txt > belmin@server1$ sudo cp /etc/foo.txt ~/foo.txt belmin@server1$ sudo chown belmin: $_ …
19 bash  files  sudo 

4
eval을 사용하여 bash의 변수에 공백을 포함하는 값을 할당하는 방법
를 사용하여 변수에 값을 동적으로 할당하고 싶습니다 eval. 다음 더미 예제가 작동합니다. var_name="fruit" var_value="orange" eval $(echo $var_name=$var_value) echo $fruit orange 그러나 변수 값에 공백이 포함되어 eval있으면 $var_value큰 따옴표로 묶어 도 오류가 반환됩니다 . var_name="fruit" var_value="blue orange" eval $(echo $var_name="$var_value") bash: orange : command not found 이것을 우회하는 방법은 무엇입니까?
19 bash  shell  quoting 

3
readarray (또는 파이프) 문제
나는 이상한 readarray명령 행동을 고수했다 . man bash상태 : readarray Read lines from the standard input into the indexed array variable array 그러나이 스크립트는 작동하지 않습니다 (배열이 비어 있습니다). unset arr; (echo a; echo b; echo c) | readarray arr; echo ${#arr[@]} unset arr; cat /etc/passwd | readarray arr; echo …
19 bash  pipe 


9
여러 변수가 설정되어 있는지 테스트
스크립트의 특정 지점 source에서 구성 파일을 사용한 후 여러 변수가 설정되고 그렇지 않은 경우 실행을 중지하여 누락 된 변수에 대해 사용자에게 알리고 싶습니다 . 나는 시도했다 for var in $one $two $three ; do ... 그러나 예를 들어 $two설정되어 있지 않으면 루프가 절대 실행되지 않습니다 $two. 다음으로 시도한 것은 for …

5
파이프는 변수를 할당
간단하게하기 위해하고 싶습니다 : echo cart | assign spo; echo $spo 출력 : 카트 그러한 assign응용 프로그램이 있습니까? 대체를 사용 하여이 작업을 수행하는 모든 방법을 알고 있습니다.
19 bash  variable 

4
쉘 프롬프트에서 Up을 누르면 동일한 접두사를 가진 이전 명령을 검색합니다.
FreeBSD의 세계에서 오는 나는 기본적으로 입력 할 때 FreeBSD의 일, 특히 9.1 버전처럼 리눅스 터미널없이 행동을하고자하는 cd터미널에서 그리고는 "업"당신이 역사를 시작하는 모든 명령을 찾아 볼 수 있습니다 화살표와 함께 추진 cd하는 당신을한다 많은 시간을 얻습니다. Linux Debian 또는 CentOS 에서이 기능을 활성화하여 전체를 입력하도록 강요하는 방법을 모르겠습니다. 누군가 도와주세요.

3
.svn / 디렉토리를 무시하고 나머지를 제외하고 재귀 적으로 특정 파일을 rsync
rsync공유에서 다른 파일로 일부 파일을 복사 하는 데 사용 하고 있습니다. 재귀 적으로 다음을 수행해야합니다. 출발지에서 제거 된 대상에서 파일 삭제 동기화 .php및 .js파일 만 다른 모든 파일 형식 제외 .svn/대상 디렉토리를 삭제하지 마십시오 이것을 사용하면 : rsync -zavC --delete --include='*.php' --include='*.js' --exclude="*" \ /origin /destination 그런 다음 모든 파일뿐만 …

2
null 병합 방식으로 쉘 변수 설정
나는 정말로 "null coalescing"을 좋아하는데, 여기에서 사물 목록에서 첫 번째 "null이 아닌"값으로 변수를 설정할 수 있습니다. 많은 언어가이를 지원합니다 (예 : 씨#: String myStr = string1 ?? string2 ?? "default"; 자바 스크립트 : var myStr = string1 || string2 || "default"; ...기타. 변수를 설정하기 위해 Bash 에서이 작업을 수행 할 …
19 bash  shell  variable 

4
let 또는 expr이 0으로 평가되면 bash -e가 종료됩니다.
-e를 설정하는 bash 스크립트가있어 스크립트가 종료 상태! = 0에서 종료됩니다. 변수에 할당 된 기본 셸 산술을 시도하고 때로는 표현식이 0과 같으므로 let 또는 expr 명령의 종료 상태가 "1"이됩니다. 예를 들면 다음과 같습니다. #!/bin/bash -ex echo "Test 1" Z=`expr 1 - 1` || true echo "Z will print" let "A=4 - …

8
sleep 명령없이 bash에서 바쁜 대기를 피하십시오.
나는 bash에서 다음과 같이하면 조건이 충족되기를 기다릴 수 있다는 것을 안다. while true; do test_condition && break sleep 1 done 그러나 각 반복마다 하나의 하위 프로세스를 만듭니다 (슬립). 나는 그렇게함으로써 그들을 피할 수 있었다. while true; do test_condition && break done 그러나 그것은 많은 CPU를 사용합니다 (바쁨 대기). 하위 프로세스와 …

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