当我运行这个脚本时,它问的第一个问题是“你想使用卷曲吗?[Y / N]:”我的回复通常是Y或y。但是,当我这样做时,我得到的即时输出是“未知!”。我期待看到代码中的下一个问题是“很好,你想忽略证书[Y / N]:”
任何人都可以编辑我的代码以使其按预期工作吗?告诉我为什么?
#!/bin/bash
echo "Build command"
read -r -e -p "Would you like to use curl? [Y/N]: "
curlstring="curl"
if [[ "${input,,}" == "y" ]]; then
read -r -e -p "Great, do you want to ignore certificates [Y/N]: " input
if [[ "$input" == "y" ]]; then
curlstring=$curlstring" -k"
else
curlstring=$curlstring" "
fi
echo "$curlstring"
elif [[ "${input,,}" == "n" ]]; then
echo "Bye"
else
echo "Unknown!"
exit 0
fi
答案 0 :(得分:0)
错误是您 实际从第一个read
命令捕获用户输入,更改它,
read -r -e -p "Would you like to use curl? [Y/N]: " input
同样bash
对使用的结构非常敏感,行号15
fi echo "$curlstring"
当您提供Y
或y
作为其中一个选项时,可能会抛出 语法错误 ,
Would you like to use curl? [Y/N]: Y
script.sh: line 15: syntax error near unexpected token `echo'
script.sh: line 15: ` fi echo "$curlstring" '
将其更改为单独的行。