2013-01-03 53 views
0
rm "1/!(Thursday.tar.gz)" 

错误:历史扩展不是脚本工作

rm: cannot remove `1/!(Thursday.tar.gz)': No such file or directory 

rm 1/!(Thursday.tar.gz)在终端

+2

向我们展示您的脚本的样子 – Icarus3

+0

也许您的交互式shell与脚本的shell不一样。考虑安装'zsh'并将它用作你的登录shell,然后用'#!开始你的脚本! /斌/ zsh' –

回答

2

你需要同时包含适当shebang line,并在你的脚本开始任何必要的外壳选择:

#!/bin/bash 
shopt -s extglob 

特别是在bash中“extglob”选项是必要的!(...)通配符语法工作。

0

工作确保您使用的是正确的/相同的外壳在你的脚本,你在终端使用。

例如,如果你使用bash,你可以添加到您的脚本开始,以确保它使用bash的还有:

#! /bin/bash 

你也一样可以使用其他shell。

注意:#!被称为'shebang',让你选择脚本所需的shell,检查this wiki page了解更多信息。