我对单行bash脚本感到困惑
for i in "$@"
do
set -- "$@" "$i" // what does it mean?
done
我可以理解$ @是传入的所有变量,而我是$ @中的每个元素,但是,我无法确定是什么
set -- "$@" "$i"
的装置。
感谢。
答案 0 :(得分:14)
它将$i
的值附加到位置参数的末尾。不确定为什么会想要这样做,但它基本上是一种加倍参数的冗长方式。它与
$ set -- a b c
$ echo "$@"
a b c
$ set -- "$@" "$@"
echo "$@"
a b c a b c