Bar*_*lom 3 bash bash-function
我在Bash脚本中有这个功能:
comp() {
rsync -v --archive $1/ $TMP/$2 $3 $4 $5 $6 $7 $8 $9
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我正在做一些特殊的论点$1和$2.然后我匆匆将其余的所有其余部分追加到命令的末尾.他们去了$9,但事实上所有都应该附加.
必须有一个更简单的方法吗?
您可以使用子字符串扩展,这在某些情况下可能很有用.尽管如此,我必须说我更喜欢Brian的移位解决方案,因为它更清晰一点.(另外,Brian的解决方案是POSIX;子串扩展是一个bash扩展.)
comp () {
rsync -v --archive "$1"/ "$TMP/$2" "${@:3}"
}
Run Code Online (Sandbox Code Playgroud)