serverip= key= linenumber=0 ##CHeck If server IP exists if grep -wq $serverip server; then echo "IP exists" linenumber=`awk '192.168.18.2 testing123 3./radius_adt.sh 192.168.18.2 nevis~ "$serverip" {print NR}' file` echo "$linenumber" fi
该文件包含:
awk 'linenumber=`awk '~ "192.168.18.4" {print NR}' fileoutput: 1linenumber=$(awk -v serverip="$serverip" ' ~ serverip {print NR}' file)~ "$serverip" {print NR}' file`
不打印行号.
awk命令在脚本外部工作.
WHy是命令不在脚本内部运行并且其返回值被复制到linenumber中.
解决方法 这一行是问题所在:shell将无法在单引号内扩展$serverip,而awk将从字面上对待它.您应该像这样使用它将shell变量传递给awk:
总结以上是内存溢出为你收集整理的linux – 无法在脚本中获取命令返回值全部内容,希望文章能够帮你解决linux – 无法在脚本中获取命令返回值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)