我尝试使用shell脚本实现Linux命令,从忽略“output.mp4”和“_Removed.avi”的目录中删除一些文件和目录,但出现以下错误:
./test.sh: line 11: syntax error near unexpected token `('
./test.sh: line 11: `sudo rm -rf !("output.mp4"|"_Removed.avi")'
我正在实现的脚本是:
#!/bin/bash
if [ -d /home/Videos_bkp/ ]
then
cd /home/subham/Videos_bkp
sudo rm -rf !("output.mp4"|"_Removed.avi")
else
echo "Directory Not Available"
fi
3条答案
按热度按时间wfveoks01#
你可以试试这种类型的脚本。我创建这个脚本是为了删除文件和文件夹,排除一些文件夹,这就是为什么我使用[-maxdepth 1]后跟文件夹名称,但你也可以使用文件名。
jqjz2hbq2#
subshell需要打开
extglob
,在文件头中添加以下内容。wwodge7n3#
文件名应类似于
*.bash
,并在终端中运行bash *.bash