1

我在远程服务器上运行我的脚本。这是我的 .sh 脚本的标题:

#!/bin/bash

shopt -s extglob; 
#turns on extended globbing features ('!' can then be used to exclude file names)

echo `ls -la /storage/brno2/home/nicki/snp/`;
cp -r /storage/brno2/home/nicki/snp/(!input) .

感谢 echo,我可以看到名为“input”的文件夹位于我期望的文件夹中。但是,似乎 extglob 不适合我:(

/var/spool/torque/mom_priv/jobs/2308017.arien.ics.muni.cz.SC: line 11: syntax error near unexpected token `('
/var/spool/torque/mom_priv/jobs/2308017.arien.ics.muni.cz.SC: line 11: `cp -r /storage/brno2/home/nicki/snp/(!input) .'

我当然可以列出我想要复制的所有文件。不过,我想避免这种讨厌的做法..

谢谢你。

4

1 回答 1

4

扩展 glob 的正确语法是

!(pattern-list)

感叹号应放在括号外。

于 2013-04-03T11:59:44.583 回答