8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

执行包括管道在内的变量的内容

krassowski 1月前

24 0

#!/bin/bash# 第一部分 ret=$(ps aux | grep -v grep) # 没问题 echo $ret# 第二部分 cmd=\'ps aux | grep -v grep\' # 管道有问题 | ret=$($cmd) echo $retHow ...

#!/bin/bash

# 1st part
ret=$(ps aux | grep -v grep)    # thats OK 
echo $ret

# 2nd part
cmd="ps aux | grep -v grep"     # a problem with the pipe | 
ret=$($cmd)         
echo $ret

我怎样才能像在第二部分中那样使用命令字符串?我认为管道是问题所在。尝试过逃避它,但没有帮助。得到一些 ps 的 snytax 错误。

帖子版权声明 1、本帖标题:执行包括管道在内的变量的内容
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由krassowski在本站《shell》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 这里不建议 eval 使用 BashFAQ/048 - Eval 命令和安全问题 .

    您可以通过定义和调用下面的函数以简单的方式解决此问题

    ps_cmd() {
        ps aux | grep -v grep
    }
    

    并在脚本中使用它作为

    output="$(ps_cmd)"
    echo "$output"
    

    另外,值得一读的是,看看为什么将命令存储在变量中不是一个好主意,并且有很多潜在的陷阱 - BashFAQ/050 - 我试图将命令放入变量中,但复杂的情况总是失败!

返回
作者最近主题: