【发布时间】:2018-04-28 11:54:46
【问题描述】:
运行这个脚本,bash ./cleanup.bash,
#!/bin/bash
## Going to directory-moving stuff
rm -rf !(composer.json|.git)
给出错误:
cleanup.bash:第 10 行:意外标记 '(' 附近的语法错误 cleanup.bash:第 10 行:'rm -rf !(composer.json|.git)'
但是如果我直接在终端中运行,就没有任何问题:
rm -rf !(composer.json|.git)
我尝试删除所有其他行,但我仍然收到错误。
如何在 Bash 脚本中正确输入?
我在 Ubuntu 上,这一切都是在本地完成的,而不是在远程完成的。
【问题讨论】:
-
也检查前几行
-
不,即使它是文件中的唯一行。它给出了这个错误。
-
尝试在
rm命令之前执行set -o posix或set +o posix。 -
@Inian 给出了一个新错误
line 9: set: -s: invalid option -
@janw:我的意思是
shopt -s extglob