我有一个非常简单的脚本,如下所示:
#!/bin/bash
VAR1="$1"
MOREF='sudo run command against $VAR1 | grep name | cut -c7-'
echo $MOREF
Run Code Online (Sandbox Code Playgroud)
当我从命令行运行此脚本并将参数传递给它时,我没有得到任何输出.但是,当我运行$MOREF变量中包含的命令时,我能够获得输出.
我想知道如何获取需要在脚本中运行的命令的结果,将其保存到变量,然后在屏幕上输出该变量?
我有一个名为test.sh的脚本:
#!/bin/bash
STR = "Hello World"
echo $STR
Run Code Online (Sandbox Code Playgroud)
我跑的时候sh test.sh得到这个:
test.sh: line 2: STR: command not found
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我在网上看一下非常基础/初学者的bash脚本教程,这就是他们说声明变量的方式......所以我不确定我做错了什么.
我在Ubuntu Server 9.10上.是的,bash位于/bin/bash.
任何人都可以帮我解决这个问题吗?
我正在尝试将awk输出保存到变量中.
variable = `ps -ef | grep "port 10 -" | grep -v "grep port 10 -"| awk '{printf "%s", $12}'`
printf "$variable"
Run Code Online (Sandbox Code Playgroud)
编辑:$ 12对应于在该进程上运行的参数.
谢谢!