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)?。它们实际上是两个独立的问题,因此读者需要能够将代码复制/粘贴到特定的环境中,以获得您所获得的错误。祝你好运