0

我正在使用命令 ./mkproj.sh 调用 bash 脚本 mkproj.sh。我也尝试使用参数调用它: ./mkproj.sh hello 但是当我在脚本中放置 echo "$1" 时,我的脚本返回一个空 $1 。我不确定为什么它不能识别命令行参数。

check_for_file()
{
if [ $# -eq 0 ]; then
        local testing_file=myproject
else
        local testing_file=$1
fi

if [ -d $testing_file ]; then
        echo "Directory name already exists"
        exit
else
        mkdir -p "$testing_file"/{archive,backups,docs/{html,txt},assets,database,src/{sh,c}}
fi

}
check_for_file


谢谢!

4

1 回答 1

1

函数中的位置参数会影响脚本接收到的全局位置参数。你需要这样调用你的函数:

check_for_file "$1"
于 2021-10-04T18:58:54.100 回答