提问人:andio 提问时间:11/6/2023 更新时间:11/15/2023 访问量:38
将 shell 变量传递到 shell 脚本中的参数 [duplicate]
passing shell variable into parameter in shell script [duplicate]
问:
我正在运行此命令来查找挂载的网络文件夹:
df | awk '/[email protected]/ { print $1 }'
这段代码工作正常,但我想使用“USER”变量传递它,而不是使用“andi”。如果我回显 USER var,它会显示正确的值。
回声$USER
安 迪
但是当我使用 var 时它不起作用。似乎单引号对不适用于$VAR:
df | awk '/[email protected]/ { print $1 }'
在这种情况下,我应该如何使用 var ?
答:
0赞
user1934428
11/6/2023
#1
如您所见,单引号之间不执行参数扩展。因此必须在单引号之外,而必须在单引号内:$USER
$1
df | awk /[email protected]/' { print $1 }'
为了应对存储的名称包含空格的可能性,您也可以将其写为USER
df | awk "/[email protected]/"' { print $1 }'
因为参数扩展是在双引号内完成的。只需确保将程序视为单个参数即可。因此,我们不能在开头单引号前面有一个空格。awk
下一个:如何初始化变量
评论
awk -v user=$USER '$1 ~ user {print $1}'
bash
awk
awk -F@ ...