私は、Macでターミナルタスクのセットを自動化するために、シェルスクリプトコードを書いています。プログラムはMacのターミナルで実行されますが、ifステートメント内のネストされたコマンドは、ifステートメントのいずれかが真であるときには実行されません。助言がありますか?シェルスクリプトからターミナルコマンドを実行するには? (MacOS 10.12)
#!/bin/bash
FINDER="1"
DOCK="2"
CAFF="3"
echo Select an option:
echo 1. killall Finder
echo 2. killall Dock
echo 3. caffeinate
echo Enter you choice:
read CHOICE
if [ "$CHOICE"="$FINDER" ]; then
killall Finder
elif [ "$CHOICE"="$DOCK" ]; then
killall Dock
elif [ "$CHOICE"="$CAFF" ]; then
caffeinate
fi
exit
ここでは、等号を付けていますが、コンソールに入力した数字に関係なく、プログラムはif文の最初の引数のみを実行します。 。 –
シバンの下に 'set -x'を追加してみてください。実行すると実行されるコマンドが書かれ、スクリプトのデバッグに役立ちます。端末を使用して実行します。がんばろう! – GabLeRoux