美文网首页
shell快速学习指南(二)

shell快速学习指南(二)

作者: Bella2014 | 来源:发表于2018-08-19 11:41 被阅读0次

    Shell 脚本的编写

    我们可以直接在shell提示符下编写shell脚本,比如函数、控制语句等都可以直接在shell提示符下键入;shell能够检测出脚本是否结束,如果没有结束敲人回车键后shell会给出继续输入的提示符”>”。这个功能对于我们临时验证一些零碎的 命令特别方便。比如我们可以在shell下直接定义一个函数today(),然后调用它:

    [me@linuxbox me]$ today() {
    >echo -n "Today's date is: "
    >date +"%A, %B %-d, %Y"
    >}
    [me@linuxbox me]$ today
    Today's date is: Thursday, May 14, 2015
    

    多条语句写在一行中间需要用分号隔开,这个和python的语法是一致的,python中有人建议每行一条语句,在这里shell个人也建议一行一条语句。

    Shell 脚本的执行方式

    有两种执行shell脚本的方式:

    1. 直接在Shell中将脚本作为可执行文件来执行,这时候shell会创建一个新的子进程来执行这个脚本;
    2. 通过“. ”或者 source命令来执行脚本,此时不要求脚本具有可执行属性;并且脚本是在当前Shell进程中执行;
      下面是一个测试脚本test.sh:
    #!/bin/bash
    cd code
    

    通过两种不同的执行方式,我们发现用第二种方式执行会改变当前Shell的环境变量$PWD,因为第二种执行方式是在当前Shell进程中执行的。我们还可以用这种方式在一个脚本中包含另一个脚本。

    minico@ubuntu:~$ ./test.sh 
    minico@ubuntu:~$ pwd
    /home/minico
    
    minico@ubuntu:~$ . ./test.sh 
    minico@ubuntu:~/code$ pwd
    /home/minico/code
    
    minico@ubuntu:~$ source ./test.sh
    minico@ubuntu:~/code$ pwd
    /home/minico/code
    

    Shell 脚本的执行和退出

    Shell脚本会从第一条非函数指令开始执行,执行完最后一条指令后退出。为了养成较好的编程习惯,建议在脚本退出的地方使用exit 0或者exit 1来指示脚本的执行结果。

    相关文章

      网友评论

          本文标题:shell快速学习指南(二)

          本文链接:https://www.haomeiwen.com/subject/pakciftx.html