Shell脚本

  • UNIX的哲学:一条命令只做一件事
  • 为了组合多条命令和可以重复使用,使用脚本文件来保存需要执行的命令
  • 有时需要赋予脚本文件可执行的权限(chmod u+rx filename)

    标准的Shell脚本包含哪些元素

  • Sha-Bang -> 第一行 声明脚本是用什么命令来解释执行的

  • 带”#”开头的注释
  • 命令

    1. #!/bin/bash
    2. #demo
    3. cd /
    4. ls

    执行Shell脚本的方式

  • bash filename.sh

    • 使用bash来解释,会在当前终端下面产生一个bash的子进程(子shell),是在子进程执行脚本文件
    • 脚本执行结束,会回到当前进程
    • 不需要为脚本赋予可执行权限
  • (点斜杠)./filename.sh
    • 根据Sha-Bang来解释,也会产生子进程,是在子进程执行脚本文件
    • 脚本执行结束,会回到当前进程
    • 必须为脚本赋予可执行权限
  • source filename.sh
    • 不会产生子进程,是在当前进程里执行脚本文件
    • 因为不会产生子进程,是在当前进程里执行脚本文件,所以脚本可能会对当前进程产生影响
    • 不需要为脚本赋予可执行权限
  • (点空格). filename.sh
    • 是source命令的另外一种写法,不会产生子进程,是在当前进程里执行脚本文件
    • 因为不会产生子进程,是在当前进程里执行脚本文件,所以脚本可能会对当前进程产生影响
    • 不需要为脚本赋予可执行权限