我正在编写一个 bash 脚本,它将 .tgz 文件输出到特定目录,默认情况下是 /tmp/ 我想提供一个选项来覆盖这个目录,我选择使用命令行提供的参数来这样做
while getopts d: option
do
case "${option}" in
d) dir=${OPTARG};;
esac
done
如所写,这是可行的,但我遇到了一个障碍,具体取决于用户输入我的 .tgz 文件的名称也是一个变量,我将这一切结合在一起的代码是
output="$dir""$name"
我遇到的问题是如果用户运行
./script -d /home/user
我生成的路径和文件名最终为
/home/userfilename.tgz
如果用户没有,我需要强制执行尾随 / 或插入一个要求。虽然它有效,但如果我将输出变量更改为
output="$dir"/"$name"
如果用户确实提供了尾随 / 我最终会得到这样的结果,并且我正在努力保持我的输出美观。
/home/user//filename.tgz
任何投入将不胜感激。