初めての Bash スクリプトを作成しようとしています。任意のディレクトリから起動できるように、メインの vagrant VM を起動するスクリプトを作成しようとしています。これが私がこれまでに持っているものです:
#!/bin/bash
if [[ -n "$1" ]];
then
if [["$1" == "up"]];
then cd /home/user/DevEnv && vagrant up;
elif [["$1" == "halt"]];
then cd /home/user/DevEnv && vagrant halt;
fi
else
echo "Must pass up or halt to script";
fi
これを実行すると、次の出力が得られます
user@Debian ~ $ dev
Must pass up or halt to script
user@Debian ~ $ dev up
/home/user/bin/dev: line 5: [[up: command not found
/home/user/bin/dev: line 7: [[up: command not found
user@Debian ~ $ dev halt
/home/user/bin/dev: line 5: [[halt: command not found
/home/user/bin/dev: line 7: [[halt: command not found
最後のelseは機能しているようですが、後のコマンドはvagrantの後then
に壊れているようです。私は単純な間違ったことをしていると思います。最終的には引数を変数として取り、その変数を vagrant に渡したいのですが、今はもっと複雑に思えます。