Curl Read命令在脚本中抛出错误的变量名错误,但不是从终端抛出的
我正在尝试卷曲脚本:Curl Read命令在脚本中抛出错误的变量名错误,但不是从终端抛出的,curl,scripting,openwrt,ash,Curl,Scripting,Openwrt,Ash,我正在尝试卷曲脚本: #!/bin/ash echo "Text Prompt: " read REPLY echo $REPLY 但是,我得到了以下输出: Text Prompt: : bad variable name 当我从终端运行命令时,它工作正常。我还尝试了以下类似的结果: #!/bin/ash read -p "Text Prompt: " vName=$REPLY echo vName #!/bin/ash read -p "Text Prompt: " &&
#!/bin/ash
echo "Text Prompt: "
read REPLY
echo $REPLY
但是,我得到了以下输出:
Text Prompt:
: bad variable name
当我从终端运行命令时,它工作正常。我还尝试了以下类似的结果:
#!/bin/ash
read -p "Text Prompt: " vName=$REPLY
echo vName
#!/bin/ash
read -p "Text Prompt: " && vName=$REPLY
echo vName
我在用记事本++编辑,它在行尾添加了特定于windows的换行符。我试着用Supreme来做,结果很快就成功了。我用记事本++编辑,它在行尾添加了windows特有的换行符。尝试在sublime中执行此操作后,立即生效。您的意思是
echo“$vName”
(引导$
)不是吗?另外,REPLY
是read
的默认变量,但是您可以指定并使用您想要的任何varName,因此read-p”文本提示:“vName
应该可以工作。(无论如何,在bash
中)。使用bash
测试您的代码,看看这是否有区别。我希望您的第一个示例能够在bash
中运行。curl
标记似乎不需要。祝你好运。尝试使用bash
和你推荐的方法,但仍然没有成功。最终,运行该脚本的设备只有ash
shell,无法在本地运行脚本,因此我使用curl
进行测试,您应该使用固定语法更新Q。如果您坚持使用echo vName
(它需要领先的$
!;-),我们将无法帮助您。通过curl
“发送要运行的命令”时,您是否得到这些结果?或者您是说上面的代码在远程硬件上运行的终端
中不起作用(使用ash
shell)?。它们实际上是两个独立的问题,因此读者需要能够将代码复制/粘贴到特定的环境中,以获得您所获得的错误。祝你好运。你的意思是echo“$vName”
(引导$
)不是吗?另外,REPLY
是read
的默认变量,但是您可以指定并使用您想要的任何varName,因此read-p”文本提示:“vName
应该可以工作。(无论如何,在bash
中)。使用bash
测试您的代码,看看这是否有区别。我希望您的第一个示例能够在bash
中运行。curl
标记似乎不需要。祝你好运。尝试使用bash
和你推荐的方法,但仍然没有成功。最终,运行该脚本的设备只有ash
shell,无法在本地运行脚本,因此我使用curl
进行测试,您应该使用固定语法更新Q。如果您坚持使用echo vName
(它需要领先的$
!;-),我们将无法帮助您。通过curl
“发送要运行的命令”时,您是否得到这些结果?或者您是说上面的代码在远程硬件上运行的终端
中不起作用(使用ash
shell)?。它们实际上是两个独立的问题,因此读者需要能够将代码复制/粘贴到特定的环境中,以获得您所获得的错误。祝你好运