天天看點

【Linux】shell腳本概述

文章目錄

    • 1. 列印如下文本:
    • 前言
    • shell腳本的概念
    • shell腳本的結構
    • 練習
    • 面試題

本系列為循序漸進學運維系列的shell腳本實戰部分,從零帶你學腳本。

Shell 是一個用 C 語言編寫的程式,它是使用者使用 Linux 的橋梁。Shell 既是一種指令語言,又是一種程式設計語言。

Shell是一個指令解釋器,它在作業系統的最外層,負責直接與使用者進行對話,把使用者的輸入解釋給作業系統,并處理各種各樣的作業系統的輸出結果,輸出到螢幕回報給使用者。這種對話方式可是互動也可以是非互動式的

【Linux】shell腳本概述

靜态語言:編譯型語言 如:c 、 c++ 、 java,

動态語言:解釋型語言 如: php 、 shell 、 python 、 perl

Shell 腳本(shell script),是一種為 shell 編寫的腳本程式。我們可以了解為把原來我們學的基礎指令,放入到一個檔案中,然後通過這個程式檔案去執行時,就是shell腳本或者說shell程式。

我們來看一個小例子:

[root@ecs-c13b ~]# vim test1.sh[root@ecs-c13b ~]# chmod 777 test1.sh [root@ecs-c13b ~]# sh test1.sh hello world![root@ecs-c13b ~]# cat test1.sh #!/bin/bash#"this is frist shell "echo "hello world!"mkdir /tmp/test1.txtecho "hello" > test1.txt      

1.開頭:#!/bin/sh或#!/bin/bash

符号#!用來告訴系統,這個腳本需要什麼解釋器來執行,即使用哪一種 Shell。

2.注釋:

以#開頭的行表示注釋

3.指令行的書寫規則:

  • 一行一條指令
  • 若一行多個指令,用分号(;)分割
  • 長指令可以使用反斜線字元(\)
  • 要有相應的空格和注釋,便于閱讀

4. 執行shell腳本的方式:

1)作為可執行程式

将上面的代碼儲存為 test.sh,并 cd 到相應目錄:

chmod +x ./test.sh  #使腳本具有執行權限./test.sh  #執行腳本      

注意,一定要寫成 ./test.sh,而不是 test.sh,運作其它二進制的程式也一樣,直接寫 test.sh,linux 系統會去 PATH 裡尋找有沒有叫 test.sh 的,而隻有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 裡,你的目前目錄通常不在 PATH 裡,是以寫成 test.sh 是會找不到指令的,要用 ./test.sh 告訴系統說,就在目前目錄找。

2)作為解釋器參數

這種運作方式是,直接運作解釋器,其參數就是 shell 腳本的檔案名,如:

/bin/sh test.sh      

No Name Mark

1 zahangsan 58.52

2 李四 90.85

此處可以使用prinf

[root@ecs-c13b ~]# sh printf.sh 
 No    Name        Mark
 1      zhangsan   50.52
 2      lisi       90.85[root@ecs-c13b ~]# cat printf.sh #!/bin/bashprintf " %-5s %-10s  %-4s\n " No Name    Markprintf " %-5s %-10s %-4.2f\n" 1  zhangsan 50.522printf " %-5s %-10s %-4.2f\n" 2  lisi 90.85      

問題解析:

格式替換符: %s %c %d %f

  1. shell腳本的執行方法
  1. #!/bin/bash中 #! 表示什麼

    #! 讀作 shebang,也念做 hashbang用于指定腳本的解釋器

上一篇: vim