Bash 将Regex输出到变量并打印变量
在Bash/shell脚本中 将正则表达式输出分配给变量的正确方法是什么 我尝试了下面的脚本,但是没有将一个简单的正则表达式输出(字符串)分配给变量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
# 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 needgrep
withawk
:awk'/300/{print$4}'
时删除$sign。它们不是反引号。原始答案已编辑。我的回答是反引号。var1=ps-A | grep300 | awk'{print$4}'
我忘了编辑文本。您应该使用$(…)
而不是反引号,无论OP使用的是什么。它们不是反引号。原始答案已编辑。我的回答是反引号。var1=ps-A | grep300 | awk'{print$4}'
我忘了编辑文本。您应该使用$(…)
而不是反引号,无论OP使用的是什么。