我正在尝试在bash中设置一个变量:
b=$(p | cut -d',' -f4)
echo $b
但是,我一直以:
p: command not found
我已经尝试了方括号,大括号和美元符号的每种组合,但仍然无法做到b
相等$p | cut -d',' -f4
。据我了解,美元符号将从变量中提取值,方括号用于表示形式。有我不知道的基本bash语法吗?
使用here字符串将变量值扩展到p
,cut
而不是使用|
派生新的子shell的pipeline ()(避免新的过程开销)。的<<<
是bash
具体的,在不提供POSIX
外壳sh
。
b=$(cut -d',' -f4 <<<"$p")
echo "$b"
还要对变量加双引号,以避免shell拆分单词。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句