awk ,shell编程

ichigoxi 2007-05-23 11:15:12
ENV=`env | awk -F"=" '{print $1}' | tr "\n" " "` //这一句是啥意思?。。
KEEP_ENV="HOSTNAME TERM SHELL PS1 USER PATH PWD HOME"//这个是环境变量列表
for e in $ENV
do
f="0"
for k in $KEEP_ENV
do
if [ $k = $e ]
then
f="1" //是在这里输出的么?。。
break
fi
done
if [ $f = "0" ]
then
unset $e
fi
done
env//为什么最后加个env?

,这段代码输出结果是把上面列出的环境变量值显示出来,没列出的就全部unset。请高人帮我讲解下这段代码的意思,awk在这里是如何使用的等等。。谢谢了
...全文
345 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mymtom 2007-05-25
  • 打赏
  • 举报
回复
env//为什么最后加个env?
======================
最后加个env,显示所有的环境变量啊!
ljc007 2007-05-23
  • 打赏
  • 举报
回复
//awk -F"=" '{print $1}'

这是awk的固定用法
-F"="表示用等号作为列分隔符
$1表示第一列
print $1表示在屏幕上打印第一列
ichigoxi 2007-05-23
  • 打赏
  • 举报
回复
谢谢LS两位,那请问是在那里给出的print调用呢?是f="1"那里么?谢谢
x86 2007-05-23
  • 打赏
  • 举报
回复
ENV=`env | awk -F"=" '{print $1}' | tr "\n" " "` //这一句是啥意思?。。

=右边是反撇号括起来的一个命令,将此命令执行的结果赋给ENV
1、执行env命令,结果管道(竖线表示管道)输出给awk,awk命令取出前面输出的第一列,然后结果再输出给tr,tr命令将回车替换成空格。

最后加个env,大概跟你的应用有关。

awk的使用比较复杂,这里有一篇介绍:
http://www.chinaunix.net/jh/7/16985.html


geopower 2007-05-23
  • 打赏
  • 举报
回复
awk -F"=" '{print $1}'
显示内容中以“=”分割的第一列数据

23,118

社区成员

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

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