bash - 无法将变量传递给其他命令

分享于 

1分钟阅读

ubuntu

  繁體

问题:

我试图传递一个变量另一个shell命令。


passwdContent=$( getent passwd "$USER" )


echo "passwdcontent" $passwdContent



我从用户"x"获得了"passwd"字段。我想使用此变量。

但我无法传递"passwdContent"变量。我尝试过这样的方法;


exampleVariable=[( "$passwdContent" | cut -d : -f 1 )]



我想回显"exampleVariable"之后,但出错了。


答案1:

改为使用:


$ exampleVariable="[$(cut -d: -f1 <<<$passwdContent )]"



现在:


$ echo "$exampleVariable"


[ravexina]




答案2:


$ [[ $(getent passwd "$USER") =~ ([^:]+):x: ]] && var=${BASH_REMATCH[1]}





COM  COMM  Comma  CAN  VAR  BASH