由于某些原因,该命令在我的telnet中有效:
[ -n "$server" ] && busybox sed -i "2s/.*/$(cat /web/data/servers/usa.txt | busybox sed -n "${server}p")/" /web/data/settings.txt
但是当我在cgi bash脚本中运行时,它没有给我正确的输出。我确定问题是这样,但我不知道如何解决:
$(cat /web/data/servers/usa.txt | busybox sed -n "${server}p")
因为里面还有另一个字符串(双引号),所以在外面发生冲突。请帮助,我是新来的。
编辑:例如: $ server = 7 ,它将在{strong> USA 7 的/web/data/servers/usa.txt
的第7行中获取字符串,然后将其替换为/web/data/settings.txt
的第2行。
在我的telnet中,它输出我想要的值,但是当我在cgi脚本中运行它时却没有。我在两个中使用完全相同的代码。我也有一个相同但没有$(...)
的代码,它输出了我想要的正确值。