[Linux]编写个简单的Bash脚本

前言

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

目标

  • 编写并执行一个简单的 Bash 脚本。
  • 将简单 Bash 脚本的输出重定向到文件。
  1. 首先先创建并执行一个简单的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命令将正则表达式应用到文本文件,或从竖线命令中搜索文件和数据,非常好用! :huaji18:  

点赞
  1. 腾讯云开发者社区说道:
    Google Chrome Windows 10/11
    您好~我是腾讯云开发者社区运营,关注了团队公众号的技术文章,觉得内容很棒,我们诚挚邀请您加入腾讯云自媒体分享计划,触达更多受众,增加内容曝光。完整福利和申请地址请见:https://cloud.tencent.com/developer/support-plan [自定义表情]
  2. 优才圈说道:
    Google Chrome Windows 10/11
    学习了
    1. 杰帕斯 杰帕斯说道:
      Microsoft Edge (Chromium) Windows 10/11
      很高兴能帮到你! |´・ω・)ノ
      1. Souiken说道:
        Microsoft Edge (Chromium) Windows 10/11
        帕斯可爱233
        1. 杰帕斯 杰帕斯说道:
          Microsoft Edge (Chromium) Windows 10/11
          好耶!

发表回复

电子邮件地址不会被公开。必填项已用 * 标注