Bash 将Regex输出到变量并打印变量

Bash 将Regex输出到变量并打印变量,bash,shell,Bash,Shell,在Bash/shell脚本中 将正则表达式输出分配给变量的正确方法是什么 我尝试了下面的脚本,但是没有将一个简单的正则表达式输出(字符串)分配给变量 # Assigning some Regex "outPut" to a Variable var1 var1=$ ps -A | grep 300 | awk '{ print $4 }' var2=Variable2 var3=Variable3 echo #Now Printing the values stored in th

在Bash/shell脚本中 将正则表达式输出分配给变量的正确方法是什么 我尝试了下面的脚本,但是没有将一个简单的正则表达式输出(字符串)分配给变量

 # Assigning some Regex "outPut" to a Variable var1
 var1=$ ps -A | grep 300 |  awk '{ print $4 }'
 var2=Variable2
 var3=Variable3
 echo
 #Now Printing the values stored in the variable
 echo "Value of Var1 is"
 echo ""$var1""
 echo "Value of Var2 is"
 echo ""$var2""
 echo "Value of Var3 is"
 echo ""$var3""
 echo
在执行它的时候。。我得到的输出是 sh variablePrint.sh 时代精神达莫

Var1的值为

Var2的值为 变量2 Var3的值为 变量3


有人能帮我告诉我如何将regex输出分配给变量,以及如何重用变量(都在bash/shell脚本中)

将要在命令替换中运行的命令括起来

var1=$(ps -A | grep 300 |  awk '{ print $4 }')

将要在命令替换中运行的命令括起来

var1=$(ps -A | grep 300 |  awk '{ print $4 }')

代码第一行中变量的声明不正确。您必须将命令括在反引号(``)中。另外,在声明var1时删除$符号您不需要使用
awk
awk'/300/{print$4}'
。代码第一行中的变量声明不正确。您必须将命令括在反引号(``)中。另外,在声明var1You't need
grep
with
awk
awk'/300/{print$4}'
时删除$sign。它们不是反引号。原始答案已编辑。我的回答是反引号。var1=
ps-A | grep300 | awk'{print$4}'
我忘了编辑文本。您应该使用
$(…)
而不是反引号,无论OP使用的是什么。它们不是反引号。原始答案已编辑。我的回答是反引号。var1=
ps-A | grep300 | awk'{print$4}'
我忘了编辑文本。您应该使用
$(…)
而不是反引号,无论OP使用的是什么。