历史扩张不能用于脚本

时间:2013-01-03 12:19:46

标签: linux shell command-line

rm "1/!(Thursday.tar.gz)"

错误:

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

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

工作

2 个答案:

答案 0 :(得分:2)

您需要在脚本开头包含正确的shebang line和任何必要的shell选项:

#!/bin/bash
shopt -s extglob

特别是在Bash中,“extglob”选项是!(...) globbing语法工作所必需的。

答案 1 :(得分:0)

确保您在脚本中使用正确/相同的shell,就像在终端中使用一样。

例如,如果您使用的是bash,则可以将其添加到脚本的开头,以确保它也使用bash:

#! /bin/bash

您可能使用的其他shell也是如此。

注意:#!被称为'shebang'并允许您选择脚本所需的shell,请查看this wiki page以获取更多信息。