关于shell的问题

besfanfei 2012-12-05 10:05:11

#
#
MYHOSTNAME=`grep MyHostName= /etc/opt/swstorage/swnode.ini | awk -F= '{print $2}'`
DST_SVR=$2
#
#


这是一个shell脚本里,执行的时候只有一个参数。
这两行大概的意思是取配置文件里“=”右边的值。有下面的疑问:
1;grep 里为什么要用 MyHostName=?执行的逻辑顺序是什么?先MyHostName= /etc/opt/swstorage/swnode.ini,然后再[结果]|awk -F= '{print $2}',还是/etc/opt/swstorage/swnode.ini | awk -F= '{print $2}',再MyHostName=[结果].

2;DST_SVR=$2,$2和awk -F= '{print $2}'中的$2相同么?只有一个参数,应该没有$2的,若是awk中的$2,为什么可以在下一行使用?
...全文
147 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CaspianSea 2012-12-05
  • 打赏
  • 举报
回复
1 grep 用 MyHostName= 做为关键字搜索文件 /etc/opt/swstorage/swnode.ini 搜到的匹配行 用 awk 解析 (以 = 作为 域的分隔符), 打印出第二个域的内容(等号右边的) 2. DST_SVR=$2 这里的 2 是 函数的二个参数, awk 里面的 2是第二个 域, 两者 不一样

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧