我想让我的bash脚本更容易阅读。 为此,我想引用位置参数来命名它们。
我试过
declare -n time="\$1"
但它没有用。我收到了错误消息,
declare: $1: syntax error: operand expected (error token is "$1")
有解决方案或建议的人请告诉我。
答案 0 :(得分:3)
Namerefs可以方便地间接修改变量。但是,位置参数基本上是只读的,因为您无法直接分配给它们。 (您使用set
作为整体更新位置参数,而不是单独更新任何位置参数。)
如果您只想获得位置参数的更好名称,只需使用常规参数分配。
time=$1
(形式上,shell中有三种不同的参数:
$1
,$2
等$?
,$*
等(单字符,非字母数字名称) declare -n
仅用于创建对变量的引用。
)