gpt4 book ai didi

linux - bash:用于命令替换的变量中的管道字符

转载 作者:可可西里 更新时间:2023-11-01 11:51:59 25 4
gpt4 key购买 nike

有人可以解释一下,为什么这不起作用??

#!/bin/bash
cmd="ps aux | grep -v grep"
cnt=$($cmd)

我从 ps 得到一个错误。

error: garbage option

Usage:
ps [options]
.....

只有“ps aux”是可以的——但不能与任何额外的管道命令一起使用。

谢谢!

最佳答案

使用函数将管道命令存储为更好更安全:

取消设置 cmd cnt

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

并在命令替换中使用它:

cnt="$(cmd)"

See BASH FAQ on storing command line in a variable

关于linux - bash:用于命令替换的变量中的管道字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43752854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com