답변:
-v
bash 의 매개 변수는 verbose를 나타내며 bash가 수행중인 작업에 대해 가능한 많은 정보를 인쇄하도록 지시합니다. 시작할 때 읽고있는 모든 구성을 인쇄합니다.
bash의 버전 정보를 인쇄하려면을 사용하십시오 bash --version
.
echo "$BASH_VERSION"
. 각 버전 번호를 별도의 요소로 포함하는 특수 배열 (BASH_VERSINFO)도 있습니다. if ((BASH_VERSINFO[0] < 4)); then echo "Sorry, you need at least bash-4.0 to run this script." >&2; exit 1; fi
[ "${BASH_VERSINFO}" -lt 4 ]
또는[ "${BASH_VERSINFO[0]}" -lt 4 ]
bash를 실행할 때 (예 :에서 gnome-terminal
) BASH_VERSION
환경 변수의 값을 확인할 수 있습니다 .
$ echo $BASH_VERSION
4.2.37(1)-release
값이 비어 있으면 실행 중이 아닙니다 bash
.
bash --version
시스템에 bash가 설치되어있는 것이 아니라 현재 bash를 실행하고 있음을 확인하기 때문에 단순히 running보다 낫습니다 .
bash --version
은 현재 사용중인 배쉬를 표시하지 않습니다.
BASH_VERSION
실행되는 것을 보장하지 않습니다 bash
: export BASH_VERSION; csh -c 'echo $BASH_VERSION $SHELL $shell'
그래서 $BASH_VERSION
설정 될 수있다 csh
뿐만 아니라
$SHELL --version
있지만 다시 SHELL을 덮어 쓸 수 있습니다 (그리고 모든 쉘은 --version 플래그를 지원하지 않습니다).
보통 --version
은 너무 많은 멀티 라인 상용구를 줄 수 있으므로 사용중인 것은
bash -c 'echo $BASH_VERSION'
bash
쉘 에서 명령을 실행합니다 . 이것이 유용한 한 가지 방법은 현재 사용되는 쉘이 필요하지 않다는 것 bash
입니다. 또 다른도에,이다 bash
, 그것이 가능 (그러나 아니다 좋은 설정) BASH_VERSION
다른 값으로. 환경 변수로 내보낼 수도 있습니다. 그러나을 실행 한 후에도 export BASH_VERSION=foobar
여기에 제공된 방법이 작동합니다. 새로운 bash
쉘 BASH_VERSION
은이를 읽는 매개 변수 확장을 수행하기 전에 자체 쉘을 자동으로 재설정 하기 때문입니다.
bash --version
라고 4.3.48(1)-release
하고 apt-cache policy bash
말한다 4.3-14ubuntu1.2
나는 실행 것을 확인 한 bash
파일은 패키지 '배쉬'에서 비롯됩니다. 이것을 어떻게 해석해야합니까? 와 유사한 불일치 usb-creator-gtk
가 있으며이 경우 apt-cache 출력이 정확합니다. -더 높은 버전 번호가 올바른 번호라고 결론 내릴 수 있습니까?
4.3.48...
Bash 4.3-14...
의 버전이고 bash
패키지 의 버전입니다 .
bash -v
하면 verbose 모드가 활성화 된 새로운 bash 쉘을 호출 했으므로 추가 명령에 대한 자세한 출력이 표시됩니다 (최소한printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"
). 자세한 내용을 끝내려면exit
command를 입력하십시오 -원래의 자세한 장황하지 않은 bash 쉘 (또는 어떤 쉘이든)로 돌아갑니다.