如何复制所有参数但是最后一个并将它们粘贴在Bash的最后一个参数中?
所有参数都是文件位置,最后一个参数是文件夹位置。
说我有两个目录/ a和/ b / a包含x.txt y.txt z.txt和x.gz y.tar.gz和z.html
我需要一个可以调用的脚本copy_script.sh
./ copy_script.sh /a/*.txt / b
并且所有txt文件都应该复制到/ b
答案 0 :(得分:2)
可以按照你想要的方式划分参数,但是 - 正如其他人指出的那样 - 在这种情况下是不必要的。
$ set -- a b c d e
$ echo "${@:0:$#}"
a b c d
$ echo "${@: -1}" # Space is necessary
e
答案 1 :(得分:0)
如果您尝试这样做,则可能不需要,因为“mv”和“cp”命令已经知道最后一项是目的地:
mkdir joe # create directory
touch a b # create two files here
mv a b joe # move both to new directory
ls joe # check they are there
a b # yes
答案 2 :(得分:0)
这是bash中的一个基本操作,你不需要写一个脚本来做你想做的事情, cp 命令解决你的问题就是这样做:
cp a/*.txt b/
将所有扩展名.txt从目录 a 复制到目录 b