function - Shell 脚本:if 语句无法正常工作
问题描述
我编写了一个 shell 脚本(用于练习),它应该编译一个 C++ ( .cpp
) 文件,自动生成一个可执行文件clang++
并执行它。我的代码:
#!/bin/bash
function runcpp() {
CPPFILE=$1
if [ -z $CPPFILE ]; then
echo "You need to specify a path to your .cpp file!"
else
echo -n "Checking if '$CPPFILE' is a valid file..."
if [[ $CPPFILE == "*.cpp" ]]; then
echo -e "\rChecking if '$CPPFILE' is a valid file... successful"
echo -n "Generating executable for '$CPPFILE'..."
clang++ $CPPFILE
echo -e "\rGenerating executable for '$CPPFILE'... done"
fi
fi
}
然而,这还没有完成,在第 9 行 ( if [[ $CPPFILE == "*.cpp" ]]; then
) 出现了问题:脚本退出,即使我指定的文件是一个.cpp
文件。我的终端窗口:
kali@kali:~$ ls -lha *.cpp
-rw-r--r-- 1 kali kali 98 Feb 9 19:35 test.cpp
kali@kali:~$ runcpp test.cpp
Checking if 'test.cpp' is a valid file...kali@kali:~$