你好,我正在使用 bash 脚本运行以下 mysql 查询:
#!/bin/bash
set -f # disable globbing
IFS=$'\n' # set field separator to NL (only)
arr=($(sudo mysql -u root -h localhost -e "USE mydb;SELECT * FROM sites" | awk 'NR>1'))
echo $arr
返回以下内容:
1 Jhon Richards [email protected]
然后我尝试获取名字(Jhon)并将其存储在变量中,我添加了以下行:
firstname=$arr | awk '{print $2}'
但是我做错了,因为我试图用以下行打印结果:
echo $firstname
没有打印任何内容。我做错了什么?
答案1
firstname=$arr | awk '{print $2}'
实际上是试图设置firstname
所设置的命令$arr
,因此它应该出错command not found
。
如果您将其echo $arr
作为完整命令,那么您可以根据需要获取位置参数。
firstname=$(echo $arr | awk '{print $2}')
还有其他方法可以获取位置参数。请随意查找。