«shell» 태그된 질문

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


4
cd 래퍼를 작성할 때 cd“$ 1”대신 cd“$ @”를 사용해야하는 이유는 무엇입니까?
다른 곳에서는 다음과 같이 cd 함수를 보았습니다. cd() { builtin cd "$@" } 왜 $@대신에 사용하는 것이 좋습니다 $1? 테스트 디렉토리 "r st"를 작성하고이 함수를 포함하는 스크립트를 호출했으며 어느 쪽이든 작동했습니다. $ . cdtest.sh "r st" 하지만 $ . cdtest.sh r st내가 사용 "$@"하든 또는 실패하든"$1"

2
“in foo bar…”부분이없는 배쉬“for”루프
나는 최근에 작동하고 기대하지 않았기 때문에 나를 혼란스럽게하는 일부 코드를 찾고있었습니다. 코드는이 예제로 축소됩니다 #!/bin/bash for var; do echo "$var" done 명령 행 인수로 실행하면 해당 인수가 인쇄됩니다. $ ./test a b c a b c 이것이 바로 나에게 예상치 못한 일입니다. var정의되지 않았기 때문에 왜 에러가 발생하지 않습니까? 이것을 …

3
CTRL + C 일 때 ^ C 제거
Red Hat Enterprise Linux 6 ( "Santiago")의 shell include에서 + 를 ^C눌렀을 때 제거 할 수 있는 방법이 있습니까? 본인의 편집 권한이 있습니다 .CTRLC.bash_profile
25 shell 

2
프로세스 대체를 달성하기위한 이식 가능한 (POSIX) 방법은 무엇입니까?
과 같은 일부 쉘 은 프로세스 출력을 파일로 표시하는 방법 인 프로세스 대체 를 bash지원 합니다. $ diff <(sort file1) <(sort file2) 그러나이 구조는 POSIX 가 아니므로 이식성이 없습니다. 어떻게 대체가 달성 될 처리 할 수있는 POSIX 친화적 인 방식으로 (즉, 작동 하나 /bin/sh) ? 참고 :이 질문은 두 개의 …

2
텍스트 편집기에서 명령 프롬프트 열기-이것이 무엇입니까?
Bash에서 가장 좋아하는 트릭 중 하나는 텍스트 편집기에서 명령 프롬프트를 열 때입니다. 을 눌러 (vi 모드에서)이 작업을 수행합니다 ESC v. 이렇게하면 명령 프롬프트에있는 내용이 선택한 $ EDITOR에 표시됩니다. 그런 다음 명령을 문서처럼 편집하고 해당 임시 파일의 모든 내용을 저장하고 종료하면 명령이 실행될 수 있습니다. 내 친구 중 누구도이 팁에 대해 …

2
함수, 별명 및 실행 파일에 하이픈에 문제가 있습니까?
내 테스트 (Bash 및 Z Shell)에서 이름에 하이픈이있는 함수 또는 별칭 또는 실행 가능한 쉘 스크립트를 정의하는 데 아무런 문제가 없었지만 모든 쉘과 모든 사용 사례에서 이것이 괜찮을 것이라고 확신하지 못합니다 . 내가 이것을하고 싶은 이유는 하이픈이 밑줄보다 입력하기 쉽고 더 빠르고 부드럽게하기 때문입니다. 문제가 아니라고 믿어 주저하는 이유 중 …
25 bash  shell  zsh  ksh  csh 

4
공백과 와일드 카드가있는 경로가있는 문자열의 배쉬 스크립트 오류
Bash 스크립팅의 기본 사항을 얻는 데 문제가 있습니다. 여기까지 내가 가진 것입니다 : #!/bin/bash FILES="/home/john/my directory/*.txt" for f in "${FILES}" do echo "${f}" done 내가하고 싶은 것은 모든 .txt파일을 for루프로 나열 하여 그들과 함께 할 수 있습니다. 그러나 공간 my directory과 별표 의 공간 *.txt은 잘 재생되지 않습니다. 변수 이름에 …

3
shellcheck는 basename을 사용하지 말 것을 권고합니다 : 왜?
shellcheck을 시도하고 있습니다 . 나는 그런 것을 가지고 basename "${OPENSSL}" 그리고 나는 다음과 같은 제안을 받는다 Use parameter expansion instead, such as ${var##*/}. 실용적인 관점에서 나는 아무런 차이가 없다 $ export OPENSSL=/opt/local/bin/openssl $ basename ${OPENSSL} openssl $ echo ${OPENSSL##*/} openssl 이후 basename에 POSIX 사양 , 난 안가 가장 좋은 방법해야 …


2
변수에서 모든 공백, 탭, 줄 바꿈 등을 제거 하시겠습니까?
이것은 내가 얻는 오류이며 값이 2 인 변수로 인해 실패하고 있습니다 (을 사용하여 얻습니다 select * from tabel). 해당 변수에 공백이 생겼습니다. + 0 != 2 ./setjobs[19]: 0: not found. 해당 변수에서 모든 공백이나 줄 바꿈을 어떻게 제거합니까? 캔 tr, sed또는 어떤 도움? 이것이 내가하고있는 일 : set_jobs_count=$(echo "set heading …
25 shell  sed  tr  whitespace  newlines 

6
bash에서 히스토리 목록의 크기를 5000 줄 이상으로 설정하는 방법이 있습니까?
이 질문은 Unix & Linux Stack Exchange에서 응답 할 수 있기 때문에 Stack Overflow에서 마이그레이션 되었습니다. 8 년 전에 이주했습니다 . HISTSIZE환경 변수를 5000보다 크게 설정 한 경우에도 history내장 목록으로 기록 목록을 인쇄 할 때 마지막 5000 명령 만 인쇄합니다. 나는 종종 .bash_history5000 줄을 초과 하는 큰 행을 가지고 있기 …
25 linux  bash  shell 



6
권한을 역으로 재귀 적으로 확인하려면 어떻게합니까?
명령이 있습니다. 아파치와 함께 제공되거나 어쨌든 권한과 관련하여 권한을 확인하는 명령과 관련이 있다고 생각합니다. 내가 가지고있는 경우에 그래서 /home/foo/bar/baz그것은 권한에 대한 무엇인지 말해 줄 것이다 baz, bar, foo,와 home. 누구 든지이 명령이 무엇인지 또는 다른 방법으로 알고 있습니까? 이 명령은 기본적으로 인수에서 시작 /하며 권한 문제가 있는지 확인할 수 있도록 …

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