我希望我的 bash 脚本采用 2 或 3 个参数,最后一个参数始终是要打开的输入文件。因此参数的索引应该取决于提供的参数数量。我知道这可以通过 if 语句来实现,例如:
if [ $# -eq 3 ]; then
INFILE=$3
elif [ $# -eq 2 ]; then
INFILE=$2
fi
..打开文件读取...
但是我希望这可以通过一个衬里来完成,如下所示:
INFILE=$($#)
但它不起作用。与 INFILE=$"$#"相同。是否可以直接用“$#”指定参数索引
最佳答案
尝试使用
INFILE="${@: -1}"
获取最后一个参数。
关于bash - 如何在 bash 中使用变量指定命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25371175/