Bash為什麼
為什麼clang-format --version
返回1
我正在研究 RHEL7,我剛剛安裝了
clang
:sudo yum install clang
。然後我執行命令
clang-format --version
,輸出如下:me@localhost:~$ clang-format --version LLVM (http://llvm.org/): LLVM version 3.4.2 Optimized build. Built May 10 2018 (10:48:27). Default target: x86_64-redhat-linux-gnu Host CPU: x86-64 me@localhost:~$ echo $? 1
如您所見,
clang-format --version
似乎可以正常工作,但echo $?
向我顯示了1
.這個命令有什麼問題?
我只是在 Ubuntu 系統上做了同樣的事情,沒有這樣的錯誤。
的輸出
type -a clang-format
:clang-format is /usr/bin/clang-format clang-format is /bin/clang-format
的輸出
file "$(command -v clang-format)"
:/usr/bin/clang-format: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=899595580dbae12ee1ae6eb9feb8a19aa6d51f49, stripped
yum
例如,可以使用可用於在sglim2/centos7
docker 映像中 安裝的舊版本的 clang 格式來重現此問題。clang-format --version
已修改為在 此送出中返回 0 :命令行:成功退出 -version 和 -help
當使用 -version 或 -help 呼叫時,使用 CommandLine 庫的工具目前退出並出現錯誤。這是不尋常且非標準的,因此我們將修復它們以成功退出。
我不希望任何人依賴目前的行為,所以這應該是一個相當安全的改變。
llvm-svn: 202530