반응형
bash 스크립트에서 $ {0 % / *}의 의미는 무엇입니까?
다음 세그먼트를 포함하는 테스트 스크립트를 이해하려고합니다.
SCRIPT_PATH=${0%/*}
if [ "$0" != "$SCRIPT_PATH" ] && [ "$SCRIPT_PATH" != "" ]; then
cd $SCRIPT_PATH
fi
뭐라고합니까 ${0%/*}
약자? 감사
라고 Parameter Expansion
합니다. 이 페이지 와 사이트의 나머지 부분을 살펴보십시오 .
어떤 ${0%/*}
일은가 포함 된 값 확장이며, 인수 0 문자열 제거한 후 (스크립트라는 경로) /*
그것의 끝에서 접미사를.
따라서 다른 주장과 $0
동일 ${0}
합니다. $1
로 쓸 수 있습니다 ${1}
. 내가 말했듯 $0
이 이것은 실제 논쟁 이 아니기 때문에 항상 존재하며 스크립트의 이름을 나타냅니다. 매개 변수 확장은 {
}
중괄호 내에서 작동하며 매개 변수 확장의 %
한 유형입니다.
%/*
마지막 항목과 일치하고 해당 문자 뒤의 모든 /
항목 (모든 *
것을 의미)을 제거합니다 . 이 간단한 예를 살펴보십시오.
$ var="foo/bar/baz"
$ echo "$var"
foo/bar/baz
$ echo "${var}"
foo/bar/baz
$ echo "${var%/*}"
foo/bar
참고 URL : https://stackoverflow.com/questions/6393551/what-is-the-meaning-of-0-in-a-bash-script
반응형
'programing' 카테고리의 다른 글
MongoDB는 SQL 주입 혼란을 어떻게 피합니까? (0) | 2020.11.28 |
---|---|
원시 유형과 함께 getMethod ()를 사용하는 방법은 무엇입니까? (0) | 2020.11.28 |
Android의 Google지도 서명 된 API 키 오류 (0) | 2020.11.28 |
ID로 수백만 개의 행을 삭제하는 가장 좋은 방법 (0) | 2020.11.28 |
Symfony 2 및 Twig에 CSS 파일을 포함하는 방법은 무엇입니까? (0) | 2020.11.28 |