linux - 使用命令替换保存变量...找不到命令

标签 linux bash sed

我需要在 grepsed 处理后将字符串保存到 bash 变量中。 这是我的代码:

echo ${plan} | grep -e '^\S' -e 'Home directory:' | sed -e 's/Home directory: //'

/home/james 

这就是我需要保存到变量中的内容...所以我尝试了:

HOME_DIRECTORY=$(${plan} | $(grep -e '^\S' -e 'Home directory:') | $(sed -e 's/Home directory: //'))

HOME_DIRECTORY=`${plan} | grep -e '^\S' -e 'Home directory:' | sed -e 's/Home directory: //'`

但两者都给我:

line 121: Home: command not found

最佳答案

将命令更改为 ,

HOME_DIRECTORY=$(echo ${plan} | grep -e '^\S' -e 'Home directory:' | sed -e 's/Home directory: //')

也就是说,您需要将整个命令包含在 $() 中。

关于linux - 使用命令替换保存变量...找不到命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27375943/

相关文章:

bash - 在 sed 命令中使用命令行参数

linux - 安装 apache2 持有数据包时出错

bash - VIM - 通过命令行传递冒号命令列表

linux - 如何用添加的文本回显一个带有星号的变量?

Python函数捕获子进程stdout和stderr到日志文件

linux命令获取指定格式的行

Linux - Bash 将字符串重定向到文件

linux - 如何使用命令行找出 Linux - CentOS/Ubuntu 上的默认应用程序?

linux - LinSched 2.6.35 没有有效的结账链接

linux - 如何使用新名称制作文件的副本,并在文件名中包含原始文件的时间戳?