我在远程服务器上运行我的脚本。这是我的.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) .'
我当然可以列出我要复制的所有文件。不过,我还是想避免这种讨厌的做法。
谢谢。
答案 0 :(得分:4)
扩展globs的正确语法是
!(pattern-list)
感叹号应该在括号外面。