当我使用 /bin/sh 时,我可以通过 bash 简单地通过回显它来发出命令
vagrant@vagrant:~$ sh
$ echo 'ls' | bash
some.sh
但是当我尝试使用这个命令时,rm -rf !(cookbooks)
我得到了这个
$ echo 'rm -rf !(cookbooks)' | bash
bash: line 1: syntax error near unexpected token `('
bash: line 1: `rm -rf !(cookbooks)'
我需要从 /bin/sh 发出这个命令。
@anubhava 来自打包程序http://www.packer.io/提供脚本
if [ -d "/opt/chef/chef-solo/" ]; then
cd /opt/chef/chef-solo
rm -rf !(cookbooks)
fi