このシェル スクリプトを Windows タスク スケジューラで実行する際に問題が発生しました。
#!/bin/bash
# Script to ping the VPN server for testing
RESULT=$(ping 192.168.1.252 | grep "Lost" | awk {' print $10 '})
LOG=/home/admin/results.txt
if [ "$RESULT" -gt 0 ];then
echo "VPN 192.168.1.252 NOT pinging" >> $LOG
else
echo "VPN Online"
fi
cygwin で実行すると問題なく実行されますが、コマンド プロンプトから実行しようとすると、次のようになります。
C:\cygwin64\bin>bash test.sh test.sh: 4 行目: grep: コマンドが見つかりません
test.sh: 4 行目: awk: コマンドが見つかりません
test.sh: 7 行目: [: : 整数式が必要です
私の質問は、実際に grep および awk コマンドを認識できるように、代わりに bash で実行するにはどうすればよいですか?
Windows スケジューラには、アクションがあります: プログラムの開始 詳細: C:\cygwin64\bin\bash.exe 引数: test.sh 開始: C:\cygwin64\bin
何か不足していますか?