Compiling
找出執行檔的副檔名?
當我在 GNU+Linux 系統上從原始碼建構軟體時,在此
./configure
階段我經常看到以下行:checking for suffix of executables...
如何在 bash 腳本中創建這樣的檢查?
我想知道這一點的原因是我想創建一個 makefile,它在 Cygwin 上使用後綴 .exe 進行編譯,但在真正的 GNU+Linux 上沒有後綴。
測試是通過編譯一個小的虛擬 C 程序並檢查編譯器如何命名輸出文件來完成的。
以下範例是所做操作的簡化版本
configure
#!/bin/sh cat << EOT > dummy.c int main(int argc, char ** argv) { return 0; } EOT gcc -o dummy dummy.c if [ -f dummy.exe ] ; then # exe fi
我建議您使用 autoconf 生成配置腳本並將其用於您的目的。
這將為您提供文件的副檔名:
FILENAME=/tmp/testfile.exe echo "${FILENAME##*.}"
結果:
exe