zoukankan      html  css  js  c++  java
  • 《Advanced Bash-scripting Guide》学习(三):自删除脚本和自读取内容的脚本

    本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅

    自删除脚本


    #!/bin/rm
    
    #自删除脚本
    
    #当你运行这个脚本时,基本上什么都不会发生...除非这个文件消失不见
    
    
    WHATEVER=65
    
    
    echo "This lines will never print(betcha!)."
    
    exit $WHATEVER   #没关系,这个脚本是不会在这里退出的
    
    

      “为什么我们写脚本开头要加#!/bin/bash ?因为#!(即sha-bang)告诉系统这个文件需要一个解释器,而/bin/bash就是这个文件的解释器,所以开头可以是python可以是/bin/ls可以是/bin/sed,可以是/bin/rm。可能是一个shell, 也可能是一个程序语言, 也可能是一个工具包中的命令程序. 这个解释程序从头开始解释并且执行脚本中的命令(从sha-bang行下边的一行开始),关于#!输入man magic可以查询。我们赋予某个脚本文件如test.sh执行的权限那么就可以直接输入test.sh运行不是吗?相当于输入/bin/bash test.sh (sh test.sh) 所以解释器为rm时那样执行就相当于执行/bin/rm test.sh所以当然文件被删除了”,这是红联linux上网友dujingxi的解释,我觉得很好,就引过来了。这句话恰好的解释了shell中的命令解释器,原文地址是http://www.linuxdiyf.com/viewarticle.php?id=274248。

    脚本执行结果



      Result:rm.sh脚本自动消失,什么都不会出现

      abs中还有一句话:当然,你还可以试试在一个README文件的开头加上#!/bin/more,并让它具有执行权限.结果将是文档自动列出自己的内容.

      我们尝试一下:

    1.首先用find命令查找一下根目录下的所有后缀为README的文件


    2.我们以第一个“/usr/share/mysql/charsets/README”为例,在文件开头加入#!/bin/more


    3.赋予权限,执行,会自动读出文档的内容



  • 相关阅读:
    传奇检测命令大全(常用命令)
    传奇版本中利用NPC迅速给人物加血脚本制作
    传奇泡点地图制作脚本
    双击包裹物品自动解包设置方法_传奇版本技术
    传奇地图事件触发脚本
    单机架设传奇服务器第47课:定时器OnTimer功能详解
    单机架设传奇服务器:机器人运行脚本文件
    检测某个地图某个怪物的数量的脚本
    检测当前人物是否在安全区脚本命令
    假人配置说明
  • 原文地址:https://www.cnblogs.com/my_captain/p/7147654.html
Copyright © 2011-2022 走看看