我正在尝试编写一个脚本,该脚本采用参数的基本名称,然后检查该参数中是否有扩展名。如果有,它会打印扩展名。
这是我的代码:
file=basename $1
ext=${file%*}
echo ${file#"$stub"}
echo $basename $1
我正在回显最终的 $basename $1 以检查 basename 的输出是什么。
一些测试显示:
testfile.sh one.two
./testfile: line 2: one.two: command not found
one.two
testfile.sh ../tester
./testfile: line 2: ../tester: No such file or directory
../tester
所以 $basename $1 都没有工作。我知道这是一个语法错误,所以有人可以解释我做错了什么吗?
编辑:
我现在解决了我的问题:
file=$(basename "$1" )
stub=${file%.*}
echo ${file#"$stub"}
这将我的论点简化为一个基本名称,谢谢大家。