1

/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
4

1 に答える 1