【发布时间】:2018-07-01 10:17:20
【问题描述】:
我正在尝试使用脚本将当前目录的所有内容移动到当前目录中的新文件夹
mv !\(.svn\|$line\|.\|..\) $line
错误是
mv: cannot stat '!(.svn|RSSIFXServicesCommon|.|..)': No such file or directory
我将命令回显到输出,如果我自己复制并执行命令,它就可以工作。
我尝试启用 extglob
【问题讨论】:
我正在尝试使用脚本将当前目录的所有内容移动到当前目录中的新文件夹
mv !\(.svn\|$line\|.\|..\) $line
错误是
mv: cannot stat '!(.svn|RSSIFXServicesCommon|.|..)': No such file or directory
我将命令回显到输出,如果我自己复制并执行命令,它就可以工作。
我尝试启用 extglob
【问题讨论】:
使用扩展正则表达式 (shopt -s extglob),无需引用您的正则表达式:
mkdir -p /tmp/t/4
touch /tmp/t/{1,2,3}
shopt -s extglob
cd /tmp/t
mv !(4|.|..) 4
如果我把它放在一个 shell 脚本中,这也可以工作。
【讨论】:
mv: cannot stat '!(4|.|..)': No such file or directory
mv !(4|.|..) 4 时,它给出了以下错误 mv: cannot stat '!(4|.|..)': No such file or directory