当我运行这个脚本时,它问的第一个问题是"你想使用 curl 吗?[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
错误是您实际上没有从第一个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" '
将其更改为单独的行。