$(명령어)라는 명령어를 달러 기호와 괄호 안에 넣는 것은 셸에서 무엇을 의미합니까?
저는 단지 셸에 있는 다음 코드 줄을 이해하고 싶을 뿐입니다.현재 작업 디렉토리를 가져오는 데 사용됩니다.나는 알고 있다$(variable)
name은 변수 이름 내의 값을 반환하지만,$(command)
돌아온다고?명령어 실행 후 값이 반환됩니까?그런 경우에는`
명령어를 실행합니다.
CWD="$(cd "$(dirname $0)"; pwd)"
다른 버전의 셸에서도 다음 코드 행에서 동일한 출력을 얻을 수 있습니다.
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
나는 의 뜻을 이해할 수 없다$(cd..
그리고.$(dirname
.
이 명령어가 어떻게 실행되는지 아는 사람 있나요?
의 사용방법$
맘에 들다${HOME}
HOME의 가치를 나타냅니다.$
맘에 들다$(echo foo)
즉, 괄호 안에 있는 서브셸 내의 모든 것을 실행하고 그 값을 반환하는 것입니다.제 예에서는,foo
부터echo
쓸 것이다foo
표준으로 하다
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
이 명령어가 어떻게 실행되는지 아는 사람 있나요?
명령어의 다른 부분을 살펴보겠습니다. BASH_SOURCE
는 소스 파일 이름을 포함하는 bash 배열 변수입니다.그렇게"${BASH_SOURCE[0]}"
스크립트 파일의 이름을 반환합니다.
dirname
는 파일 이름에서 마지막 컴포넌트를 삭제하는 GNU coreutils에 의해 제공되는 유틸리티입니다.따라서 스크립트를 실행하면 다음과 같이 됩니다.bash foo
,"$( dirname "${BASH_SOURCE[0]}" )"
돌아올 것이다.
만약 당신이 말했다.bash ../foo
, 그것은 돌아올 것이다...
;의 경우bash /some/path/foo
그것은 돌아올 것이다/some/path
.
마지막으로 명령어 전체가"$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
는 호출되는 스크립트를 포함하는 절대 디렉토리를 가져옵니다.
$(...)
명령어를 대체할 수 있습니다. 즉, 명령어 출력으로 명령어를 대체할 수 있으며 네스트할 수 있습니다.
언급URL : https://stackoverflow.com/questions/17984958/what-does-it-mean-in-shell-when-we-put-a-command-inside-dollar-sign-and-parenthe
'programing' 카테고리의 다른 글
체크아웃을 사용하지 않고 Git 브랜치 병합, 업데이트 및 풀 (0) | 2023.04.13 |
---|---|
app.xaml에서 기본 WPF 창 스타일을 설정하는 방법 (0) | 2023.04.13 |
Interface Builder로 작성된 nib 파일을 사용하여 UIView를 로드하는 방법 (0) | 2023.04.13 |
인라인 기능을 사용할 때와 사용하지 않을 때? (0) | 2023.04.13 |
'COLLATE SQL_Latin1_General_CP1'이란CI_AS는? (0) | 2023.04.08 |