<分区>
我是 bash 脚本的新手,我正在编写一个脚本来自动使新创建的 .sh
文件可执行。因此,我想检查 .sh
前面是否有提供的唯一参数,以确保文件名有效。
但是,当我运行 ./createExecutableScript.sh asd.sh
时,出现了 [: too many arguments
错误。
一开始我以为是$1
没有包裹在"
里导致的错误,所以加了"
进去。
我也提到了这个问题
( Linux Shell Script - String Comparison with wildcards ) 并在 "
之外添加了 *
。
#!/bin/bash
if [ "$#" -eq 1 ] && [ "$1" == *".sh" ]
then
echo "Creating file with name: $1"
else
echo "Invalid or missing filename!"
fi