2013-01-03 52 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瞭解更多信息。