• sh
    • 补充说明
      • 语法
      • 选项
      • 实例

    sh

    shell命令解释器

    补充说明

    sh命令 是shell命令语言解释器,执行命令从标准输入读取或从一个文件中读取。通过用户输入命令,和内核进行沟通!Bourne Again Shell (即bash)是自由软件基金会(GNU)开发的一个Shell,它是Linux系统中一个默认的Shell。Bash不但与Bourne Shell兼容,还继承了C Shell、Korn Shell等优点。

    语法

    1. bash [options] [file]

    选项

    1. -c string:命令从-c后的字符串读取。
    2. -i:实现脚本交互。
    3. -n:进行shell脚本的语法检查。
    4. -x:实现shell脚本逐条语句的跟踪。

    实例

    使用-x选项跟踪脚本调试shell脚本,能打印出所执行的每一行命令以及当前状态:

    1. [root@AY1307311912260196fcZ satools]# sh -x check_ssh_login.sh
    2. + DEFINE=30
    3. + cat /var/log/secure
    4. + awk '/Failed/ {++ip[$(NF-3)]} END {for (i in ip) print i"="ip[i]}'
    5. ++ cat /root/satools/black.txt
    6. + for i in '`cat /root/satools/black.txt`'
    7. ++ echo 121.42.0.16=1427
    8. ++ awk -F= '{print $1}'
    9. + IP=121.42.0.16
    10. ++ echo 121.42.0.16=1427
    11. ++ awk -F= '{print $2}'
    12. + NUM=1427
    13. + '[' 1427 -gt 30 ']'
    14. + grep 121.42.0.16 /etc/hosts.deny
    15. + '[' 1 -gt 0 ']'
    16. + echo sshd:121.42.0.16
    17. + echo vsftpd:121.42.0.16
    18. + for i in '`cat /root/satools/black.txt`'
    19. ++ echo 121.42.0.72=276
    20. ++ awk -F= '{print $1}'
    21. + IP=121.42.0.72
    22. ++ awk -F= '{print $2}'
    23. ++ echo 121.42.0.72=276
    24. + NUM=276
    25. + '[' 276 -gt 30 ']'
    26. + grep 121.42.0.72 /etc/hosts.deny
    27. + '[' 1 -gt 0 ']'
    28. + echo sshd:121.42.0.72
    29. + echo vsftpd:121.42.0.72