«shell» 태그된 질문

쉘은 Unix의 명령 행 인터페이스입니다. 쉘에 대화식으로 명령을 입력하거나 작업을 자동화하는 스크립트를 작성할 수 있습니다. / bin / sh 및 가장 호환 가능한 쉘 (ash, bash, ksh, zsh,…)에 적용되는 질문에이 태그를 사용하십시오. 오류가있는 쉘 스크립트는 여기에 게시하기 전에 http://shellcheck.net에서 확인하십시오.

4
chsh를 실행해도 쉘이 변경되지 않습니다
쉘을 bash에서 zsh로 변경하고 싶습니다. 사용자 zol로 로그인 한 상태에서 다음을 실행하려고했습니다. $ chsh -s /bin/zsh $ sudo chsh -s /bin/zsh zol $ su -c 'chsh -s /bin/zsh zol' # The above all results with: $ password: $ chsh: Shell not changed. # zsh exists in /etc/shells.. chsh -l /bin/sh …
19 shell  zsh  users 

2
-q가 wget 출력 로깅을 확실히 해제합니까?
현재 원격 웹 페이지를 다운로드하기 위해 wget을 사용하는 Linux 서버에서 실행중인 쉘 스크립트가 있습니다. 이는 특정 시간에 실행되도록 예약 된 크론 작업에 의해 실행됩니다. 누군가 -q옵션 을 추가 하면 콘솔에 반환되는 모든 출력이 중지 될뿐만 아니라 로그에 쓰거나 로그 파일을 작성하려고 시도하는 모든 시도가 중지되는지 확인할 수 있습니까?
19 linux  shell  wget 

2
환경 변수에서 작은 따옴표와 큰 따옴표의 의미는 무엇입니까?
내 .profile에 다음과 같은 환경 변수를 정의했습니다. MY_HOME="/home/my_user" 그러나 따옴표를 제거하고 파일을 다시 소스하지 않으면 변수가 평가되지 않는 것 같습니다. 공백이 있으면 따옴표가 필요하고 이스케이프를 원하지 않으면 작은 따옴표가 사용됩니다. 변수 정의에서 작은 따옴표와 큰 따옴표의 중요성을 명확히 할 수 있습니까? 프론트 틱과 백 틱은 어떻습니까?



2
sh 파일에서 실행할 때 쉘 스크립트에서 찾을 수 없음 오류가 발생합니다. 그러나 수동으로 입력하면 명령이 작동합니다.
다음 스크립트를 사용하여 내 웹 사이트의 사이트 맵을 생성하려고합니다. sh thsitemap.sh다음과 같은 오류가 발생하여 실행 하면 빈 sitemap.xml 파일이 생성됩니다. thsitemap.sh: 22: thsitemap.sh: [[: not found thsitemap.sh: 42: thsitemap.sh: [[: not found thsitemap.sh: 50: thsitemap.sh: Syntax error: "(" unexpected 그러나 root터미널에 이러한 줄을 수동으로 복사하여 붙여 넣을 때 동일한 사용자로 …


3
bash 스크립트에서 빈 파일을 새로 만들려면 어떻게합니까?
출력 플래그에 대한 출력 파일이 필요하도록 작성된 타사 Perl 스크립트를 실행 중 -o입니다. 불행히도, 스크립트는 실제 파일을 요구하는 것으로 보입니다. 즉, 사용자는 filename.txt0 바이트의 빈 파일을 만든 다음 스크립트 명령 줄에이 빈 파일을 입력해야합니다 perl script1.pl -o filename.txt 질문 : bash 스크립트 내에 빈 파일을 어떻게 만들 수 있습니까? 하나만 …

3
bash shell script loop에서 array index 변수에 액세스하고 있습니까?
bash 쉘 스크립트에서 배열을 반복하면서 배열 색인 변수에 액세스하고 싶습니다. myscript.sh #!/bin/bash AR=('foo' 'bar' 'baz' 'bat') for i in ${AR[*]}; do echo $i done 위 스크립트의 결과는 다음과 같습니다. foo bar baz bat 내가 찾은 결과는 다음과 같습니다. 0 1 2 3 이것을 달성하기 위해 스크립트를 어떻게 변경합니까?

1
쉘에서 $ {$ #}이 $$와 동일한 결과를 리턴하는 이유는 무엇입니까?
에서 마지막 위치 매개 변수를 가져 /bin/dash오려고 시도했지만 시도했습니다 echo ${$#}. 놀랍게도 이로 인해 오류가 발생하지 않았지만 $$가변 내용 과 동일한 PID에 오류가 발생했습니다 . 질문, 왜 그 구문이 효과가 있었습니까? 여기서 쉘이 적용한 구문 규칙은 무엇입니까? 기본적으로 내가 한 일은 $ set 1 2 3 4 5 $ echo …
18 shell  variable 

2
POSIX가 외부 구현을 위해 특정 쉘 내장을 요구하는 이유는 무엇입니까?
에서 의 printf인지에 대한이 질문에 A는 YASH에 내장- , 제공 이 답변이 따옴표 POSIX 표준을 . 대답은 POSIX 검색 순서가 원하는 명령의 외부 구현을 찾은 다음 쉘이 내장 명령으로 구현 한 경우 내장을 실행한다는 것입니다. ( 특별한 내장 이 아닌 내장의 경우 ) 내부 구현을 실행하기 전에 POSIX에 외부 구현이 …


4
"인수를 명령으로 해석하는 명령에 신뢰할 수없는 데이터를 전달하는 명령을 실행하십시오"
findutils 매뉴얼에서 : 예를 들어이 두 명령과 같은 구성 # risky find -exec sh -c "something {}" \; find -execdir sh -c "something {}" \; 매우 위험합니다. 그 이유는 '{}'이 세미콜론이나 쉘에 특수한 다른 문자를 포함 할 수있는 파일 이름으로 확장 되었기 때문입니다. 예를 들어 누군가 파일 /tmp/foo; rm -rf …
18 shell 

1
bash는“IFS”변수의 값에 따라 동작을 변경합니다
IFS변수를 bash공백으로 설정하면 여러 공백을 하나의 공백으로 처리합니다 ( myprogram받은 명령 줄 인수를 인쇄하는 프로그램입니다). IFS=" " x="hello hi world" ./myprogram $x argv[1] = hello argv[2] = hi argv[3] = world 그러나 IFS변수를 쉼표로 설정하면 bash여러 쉼표를 하나의 쉼표로 취급하지 않습니다. IFS="," x="hello,,,hi,,,world" ./myprogram $x argv[1] = hello argv[2] = …
18 bash  shell 

3
따옴표 붙은 변수의 옵션이 실패하는 이유는 무엇입니까?
나는 $ foo 대신 "$ foo"와 같이 bash에서 변수를 인용해야한다는 것을 읽었습니다. 그러나 스크립트를 작성하는 동안 따옴표없이 작동하지만 따옴표로는 작동하지 않는 경우를 발견했습니다. wget_options='--mirror --no-host-directories' local_root="$1" # ./testdir recieved from command line remote_root="$2" # ftp://XXX recieved from command line relative_path="$3" # /XXX received from command line 이것은 작동합니다 : wget …

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