5

このシェル スクリプトを 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

何か不足していますか?

4

2 に答える 2