在尝试添加用户提示时检查到已经有效的现有脚本时遇到一些问题。
以下是现有脚本,正常工作 ...
#!/bin/sh
echo "**** Pulling changes into Production"
ssh user@example.com "$( cat <<'EOT'
cd example.com/html/ || exit
unset GIT_DIR
git pull
EOT
)"
以下是我修改后的脚本,其中包含已损坏的用户提示,并且仅在添加ssh行时才会中断。与回声完美配合。
#!/usr/bin/env bash
while true; do
read -p "Are you sure you want to pull changes into production? [y/N] " yn
case $yn in
[Yy]* )
ssh user@example.com "$( cat <<'EOT'
cd example.com/html/ || exit
unset GIT_DIR
git pull
EOT
)";
exit;;
[Nn]* )
echo "!!!! CANCELLING !!!!";
exit;;
* ) echo "Please answer yes or no.";;
esac
done
我得到的错误是......
Syntax error: end of file unexpected (expecting ")")
答案 0 :(得分:2)
EOT
必须出现在该行的开头。你的EOT
出现在两者之间,有很多前导空格。
替换
EOT
通过
EOT