У меня есть сценарий bash, завернутый в «», поэтому мне нужно использовать «» для моей команды grep, но она не работает. Я не могу переключать кавычки, потому что тогда переменные не раскрываются.
#!/bin/bash
PWD=`pwd`
source "$PWD/AWS.config.sh"
SCRIPT="
cd ~/$APP_PATH;
netstat -ln | grep ':80 ' &> /dev/null;
if [ $? -eq 0 ]; then
echo something on 80;
else
echo nothing on 80;
fi
"
ssh -i $EC2_PEM_FILE $APP_HOST $SCRIPT
Так
netstat -ln | grep ':anyporthere ' &> /dev/null;
кажется, всегда возвращает $? 0 указывает на совпадение, когда его явно нет.
Как я уже упоминал, если я переключаюсь на «» и «» для включающего сценария, он работает, но тогда переменные сценария не раскрываются, что является проблемой.
Пожалуйста помоги.