前言

在Linux中Bash脚本是很重要的存在,它可以批量执行某些指令,可以说是即省时又省力!是您出门必备的…  

目标

  • 编写并执行一个简单的 Bash 脚本。

  • 将简单 Bash 脚本的输出重定向到文件。

主文

首先先创建并执行一个简单的Bash脚本

  1. 使用vim指令在目录中创建一个名为 sampleBash.sh 文件!

    [japerz@linux ~]$ vim sampleBash.sh
  2. 我们来写一个简单的output,在这里你可以发挥自己的想象力,写啥都行,然后esc, !wq保存并退出。

    #!/usr/bin/bash echo 
    "This is an sample Bash file!" > ~/output.txt 
    echo "" >> ~/output.txt 
    echo "-----------" >> ~/output.txt
  3. 然后我们来使用sh指令来执行我们刚刚创建的脚本文件!

    [japerz@linux ~]$ sh sampleBash.sh
  4. 之后我们可以用cat指令查看生成出来的输出文件,也就是output.txt

    [japerz@linux ~]$ cat output.txt 
    This is an sample Bash file!
    
    ———–

  5. 我们继续向 sampleBash.sh 脚本文件中添加更多的玩意,比如列出Block Device,查看磁盘空间等操作!

    #!/usr/bin/bash 
    # 
    echo "This is an sample Bash file!" > ~/output.txt 
    echo "" >> ~/output.txt 
    echo "-----" >> ~/output.txt 
    echo "Block Devices:" >> ~/output.txt 
    echo "" >> ~/output.txt 
    lsblk >> ~/output.txt 
    echo "" >> ~/output.txt 
    echo "-----" >> ~/output.txt 
    echo "File System Space:" >> ~/output.txt 
    echo "" >> ~/output.txt 
    df -h >> ~/output.txt 
    echo "-----" >> ~/output.txt

    等等!这段代码居然使用了极为先进的lsblk指令(bushi),并不是所有的发行版都有这个指令,如果没有的话,可以使用以下指令来安装util-linux!

    sudo apt-get install util-linux

  6. 再次使用cat指令查看我们的output.txt文件

    
    [japerz@linux ~]$ cat output.txt
    
    
    
    Block Devices:
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
    sr0     11:0    1  558K  0 rom
    vda    252:0    0   10G  0 disk
    ├─vda1 252:1    0    1M  0 part
    ├─vda2 252:2    0  200M  0 part /boot/efi
    ├─vda3 252:3    0  500M  0 part /boot
    └─vda4 252:4    0  9.3G  0 part /
    vdb    252:16   0    5G  0 disk
    vdc    252:32   0    5G  0 disk
    vdd    252:48   0    5G  0 disk
    
    File System Space:
    Filesystem      Size  Used Avail Use% Mounted on
    devtmpfs        844M     0  844M   0% /dev
    tmpfs           888M     0  888M   0% /dev/shm
    tmpfs           355M  9.4M  346M   3% /run
    /dev/vda4       9.4G  1.7G  7.7G  18% /
    /dev/vda3       495M  161M  335M  33% /boot
    /dev/vda2       200M  7.6M  193M   4% /boot/efi
    tmpfs           178M     0  178M   0% /run/user/1000

  7. 使用chmod指令让我们的sampleBash.sh变得可执行!

    [japerz@linux ~]$ chmod a+x sampleBash.sh
  8. 随后我们可以就不用使用sh,而是直接可以运行这个脚本了!

    [japerz@linux ~]$ ./sampleBash.sh
  9. 至此我们的脚本就创建完成了!

后记

Bash脚本对于提高命令行运行效率来说是必要的,熟练运用Bash脚本还可以使用for,if语句来创建条件结构,甚至可以使用正则表达式来匹配数据,并使用grep命令将正则表达式应用到文本文件,或从竖线命令中搜索文件和数据,非常好用!