当前位置:  技术问答>linux和unix

请教一个shell里面宏定义执行问题

    来源: 互联网  发布时间:2017-02-26

    本文导语:  看linux unix shell学习笔记里面关于until的用法 下面的语句为不断搜索root用户是否登录了,如果登录了就停止搜索并发邮件通知sunmoon $cat testuntil #!/bin/sh #testuntil IS_ROOT=`who | grep root` until [ "$IS_ROOT" ] do      sleep 5...

看linux unix shell学习笔记里面关于until的用法
下面的语句为不断搜索root用户是否登录了,如果登录了就停止搜索并发邮件通知sunmoon
$cat testuntil
#!/bin/sh
#testuntil
IS_ROOT=`who | grep root`
until [ "$IS_ROOT" ]
do
     sleep 5
done
echo “watch it. root is in” | mail sunmoon

有下面个疑问
IS_ROOT=`who | grep root`
这句在执行完了之后IS_ROOT的值就已经被写死了,如果当前没有root用户until [ "$IS_ROOT" ] 应该一直等于FALSE,不管以后有没有root登录,这个循环一直跑不去

如果这么修改就没有问题
#!/bin/sh
#testuntil
until [ "`who | grep root`" ]
do
     sleep 5
done
echo “watch it. root is in” | mail sunmoon

如果我想用宏定义IS_ROOT来完成这个操作,该如何实现?

|
那就是普通变量 干嘛叫宏?

#!/bin/sh
#testuntil
IS_ROOT=`who | grep root`
until [ "$IS_ROOT" ]
do
  sleep 5
  IS_ROOT=`who | grep root`
done
echo “watch it. root is in” | mail sunmoon


|
没有写死的。
每次until [ "$IS_ROOT" ]
时都要解释$IS_ROOT,这时候要看IS_ROOT的值的话就需要·who |grep root·出场了

    
 
 

您可能感兴趣的文章:

  • 请教redhat9下如何查看系统定义的结构的帮助文档
  • 请教!net-snmp里面怎么挂载自己定义的动态链接库
  • 请教宏定义 #define TEST(s) #s 表示了什么?
  • 请教:为什么在<%!...%>内部定义的函数不能用jsp页面缺省的对象如:out,request,session,等。
  • 新手请教Qt下自定义类的使用问题?
  • 请教一个简单问题。。如果我定义了 int data; 我在程序中想得到他的地址,应该怎么做?谢谢
  • 请教一个 Linux 的宏定义问题
  • 我用的是atmel一个成熟的开发板。有一个触摸屏驱动程序,以<M>的方式编译为模块,编译时提示某个外部函数没有定义,但如果以<*>的方式编译进内核,则不会出错。请教下可能是什么原因?
  • 请教结构体定义--LINUX驱动程序中语句
  • 请教一个有个EJB中自定义find的方法
  • 100分请教高手uboot段定义
  • 菜鸟请教:linux 直接执行可执行文件
  • 请教可执行程序的执行问题
  • 100请教:如何编写脚本,执行某个目录下的所有可执行文件,并将其输出内容重定向到某个文件。(在线等)
  • 请教shell脚本中, 如何保证一行执行成功之后,再执行下一行?
  • 请教这种循环的执行过程
  • 请教:SSH登陆执行的情况下,有没有可能知道某一次登陆都执行了什么命令?
  • 请教jbuild5中如何加载任何可执行文件?
  • 请教,在jcreator下面如何使程序单步执行?多谢!
  • Unix下执行 netstat出了问题,请教!!
  • crontab里设置后没有自动执行,请教高手,急!!!!!!!!!
  • 请教:javascript 里有没有时间循环执行的函数,如我按住鼠标触发mousedown 事件函数时,反复执行我写的一个函数?
  • 高分请教关于Shell脚本执行中断问题?
  • 请教关于Thread类执行的问题
  • 请教一个难题:关于执行顺序。
  • 请教一个脚本执行的问题,有关权限的
  • 请教./test.sh 的执行路径问题,多谢
  • 请教为什么要运行一个可执行文件要以./文件名 的形式来运行?
  • 请教Linux光盘自动执行文件的问题。
  • 请教redhat9下什么命令执行arp解析和逆向arp解析
  • linux~shell编程~请教一个关于如何执行脚本的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)
  • 请教两个redhat9问题
  • 请教如何在指定目录下查找包含指定文字的文件
  • 请教局域网中如何通过ip地址得到主机名
  • 请教kdevelop的问题
  • 请教linux 下的adsl拨号问题.
  • 请教,如何用虚拟订机安装liux
  • 【请教】LINUX 下SNMP的MIB开发
  • 请教一个opengl的问题
  • 请教unix常用命令命令问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3