1. 程式人生 > >Shell指令碼入門之一——HelloWorld

Shell指令碼入門之一——HelloWorld

備註:本人使用cent-os 64位虛擬機器,學習中主要閱讀《鳥哥的私房菜》,自己對相關內容根據自己的理解進行重新整理。

Shell Script簡介

    ​Shell Script:Shell指令碼,使用文字檔案,包含Shell語法和指令,包含一系列Linux指令,方便我們批量執行命令,更好的管理Linux主機。

    ​Shell指與Linux核心通訊所使用的特定命令列使用者介面,目前有多個不同的Shell,包括: C Shell,Korn Shell等。

    ​Shell Script的第一行制定了使用的Shell指令碼:

  1. #!/bin/bash
學習Shell Script的計劃

    ​Linux整個體系還是很複雜的,之前有學習一些基本的命令,並且在工作中也基本用到了。但是對Shell指令碼還是沒有系統的學習。作為開發人員,對自己不要求能夠流暢的編寫Shell指令碼,但是希望自己能夠看到Shell指令碼,並且如果寫的話可以能夠很快地查資料上手學習。

    ​計劃在7、8月份主要以學習Linux為主,中間可能根據個人愛好,會穿插學習Hadoop的一些東西。

    ​畢竟學無止境,自己還是差的很遠。

HelloWorld

    ​先寫一個基本的HelloWorld程式,通過一個HelloWorld,我們可以瞭解一些Shell指令碼的基礎語法。

    ​ 

  1. [[email protected] ~]$ mkdir shell_code
  2. [[email protected] ~]$ cd shell_code/

第一個Shell指令碼:

  1. #!/bin/bash
  2. #This is my first ShellScript.
  3. #This is comments test.
  4. echo -e "Hello world!\a\n"
  5. exit 0

執行:

  1. [[email protected] shell_code]$ sh sh01.sh
  2. Hello world!
我們檢視我們的第一個Shell指令碼,可以看到一個Shell指令碼的基本內容:

-1,第一行

  1. #!/bin/bash

聲明當前Shell指令碼的shell名稱。我們可以嘗試去掉第一行的宣告再次執行指令碼。發現也可以正常執行指令碼。可見這一行並不是必須的,但是為了防止某些系統無法正常執行,所以這一行指令碼理論都會出現在每個Shell指令碼中。

-2,註釋:除了第一行的說明,其他以#開頭的均未註釋。

-3,執行的指令碼具體內容。

-4,返回執行結果。通過exit 0可以返回給系統當前指令碼執行結果,我們可以通過$?獲取返回結果值。

  1. [[email protected] shell_code]$ sh sh01.sh
  2. Hello world!
  3. [[email protected] shell_code]$ echo $?
  4. 0

如下是一些簡單額Shell例子,我們可以通過如下的例子,大體看到一個Shell指令碼的構造。

例1,根據輸入的名稱,展示出全名給使用者

  1. #!/bin/bash
  2. #Use input name ,show full name
  3. read -p "Please input your first name:" firstName
  4. read -p "Please input your last name:" lastName
  5. echo -e "\nYour full name is:$firstName $lastName"

具體基本使用:

  1. [[email protected] shell_code]$ sh sh02.sh
  2. Please input your first name:A
  3. Please input your last name:B
  4. Your full name is:A B

例2:根據日期和輸入檔名,建立檔案的例子。

  1. #!/bin/bash
  2. #create files ,use input name and date
  3. echo -e "I'll use 'touch' command to create files"
  4. read -p "pleas input your filename:" fileName
  5. #check fileName
  6. fileName=${fileName:-"filename"}
  7. date1=$(date --date="2 days ago"+%Y%m%d)
  8. date2=$(date --date="1 days ago"+%Y%m%d)
  9. date3=$(date +%Y%m%d)
  10. file1=${fileName}${date1}
  11. file2=${fileName}${date2}
  12. file3=${fileName}${date3}
  13. #create file
  14. touch "$file1"
  15. touch "$file2"
  16. touch "$file3"

我們可以執行指令碼測試。

以上即為一個基本的Linxu Shell指令碼。後續我們會從基本語法來分析Shell 指令碼,比如:引數定義,if邏輯判斷,迴圈語句。

相關推薦

Shell指令碼入門之一——HelloWorld

備註:本人使用cent-os 64位虛擬機器,學習中主要閱讀《鳥哥的私房菜》,自己對相關內容根據自己的理解進行重新整理。 Shell Script簡介     ​Shell Script:Shell指令碼,使用文字檔案,包含Shell語法和指令,包含一系列Linux指令

Linux基礎:Shell指令碼入門

Shell 指令碼(shell script),是一種為 shell 編寫的指令碼程式,業界所說的 shell 通常都是指 shell 指令碼。(區分於shell,shell 和 shell script 是兩個不同的概念。Shell 是一個用 C 語言編寫的程式,它是使用者使用 Lin

shell指令碼入門(基本用法)

一、變數 1. 環境變數 #!/bin/bash # 全域性變數 echo "User Info:" echo "user: $USER" echo "UID : $EUID" echo "home: $HOME" echo “$HOSTNAME” 2. 使用者變數 變數命名規則: 由字母、數

shell指令碼入門詳解及其例項

一、條件選擇、判斷(if、case) 1.1 if語句用法及例項 當我們在指令碼中遇到需要判斷的時候,我們就可以用if語句來實現。具體的語法如下:   單分支 if 判斷條件;then     條件為真的分支程式碼   fi   雙分支 if 判斷條件;

2017.10.11 shell指令碼入門教程

轉自http://www.jb51.net/article/28514.htm 感謝原作者 建立一個指令碼 程式必須以下面的行開始(必須方在檔案的第一行): #!/bin/sh 符號#!用來告訴系統它後面的引數是用來執行該檔案的程式。在這個例子中我們使用/bin/sh來執行程式

shell指令碼入門

#!/bin/bash myTest="hello world" myNum=30 yourNum=40 val=`expr $myNum + $yourNum` echo $val val=`expr $myNum \* $yourNum` echo "$

shell指令碼 入門 —— 符號篇

shell Shell就是一個命令列直譯器,它的作用是解釋執行使用者的命令,使用者輸入一條命令,Shell就解釋執行一條,這種方式稱為互動式(Interactive)。 Shell還有一種執行命令的方式稱為批處理(Batch),使用者事先寫一 個Shell指令碼(Script),其中有很多條命令,讓S

Shell指令碼入門(十二)

今天我們來看一下怎樣將資料寫入檔案中,還記得前面輸出資訊使用的echo命令嗎? 輸出到檔案同樣使用這個命令: 1. 寫入檔案 示例: #!/bin/bash echo "write to file." echo "iput your name:" read y_name

Shell指令碼入門(十一)

在實際開發中,我們的程式可能比較大,需要按模組開發,有不同的子程式 每個子程式都是獨立的一個 檔案,我們可以在一個主程式中呼叫他們 示例: #!/bin/bash clear echo "" echo "1.Add" echo "2.Delete" echo "3.Dis

SHELL指令碼入門篇——符號

shell基礎知識 shell指令碼與Windows/Dos下的批處理相似,都是將各類命令預先放入到一個程式檔案,主要方便管理員進行設定和管理用的。但shell指令碼比Windows下的批處理更強大。 shell指令碼第一句開頭為#!,註釋為在需註釋的行前面

Shell 指令碼 基礎知識點、入門必備

命名:Shell指令碼以 .sh為字尾 shell 是使用 c語言編寫的程式。 #! 告訴系統其後路徑所指定的程式即是解釋此指令碼檔案的 Shell 程式。 / :指的是根目錄 ./: 值得是當前目錄 $# :表示傳入指令碼的引數的個數 shell 數值比較 可以通過這種方

shell指令碼的一些基本入門語法

$#:代表命令列引數個數 $*:代表所有引數 $n:第n個引數 $?:代表最後一個命令返回值 $$:代表當前shell的程序號PID $是變數的引用符   = 是最基本的賦值 := 是覆蓋之前的值 ?= 是如果沒有被賦值過就賦予等號後面的值 += 是

Shell入門(一)Shell指令碼、環境

Shell 教程 Shell 是一個用C語言編寫的程式,它是使用者使用Linux的橋樑。Shell既是一種命令語言,又是一種程式設計語言。 Shell 是指一種應用程式,這個應用程式提供了一個介面,使用者通過這個介面訪問作業系統核心的服務。 Shell 指令碼 Shell

一個小坑: -bash: ./backup.sh: /bin/bash^M: bad interpreter: No such file or directory 由於shell指令碼檔案被我在Windows下編輯過,出現上面錯誤的原因之一指令碼檔案是DOS格式的, 即每一行的行尾以\r\n來標識

    由於shell指令碼檔案被我在Windows下編輯過,出現上面錯誤的原因之一是指令碼檔案是DOS格式的, 即每一行的行尾以\r\n來標識, 使用vim編輯器開啟指令碼, 執行::set ff? 可以看到DOS或UNIX的字樣. 使用se

Shell指令碼之一鍵安裝LNMP環境

本指令碼和Nginx原始碼包、php-fpm的rpm包在一個目錄才能使用 本指令碼的LNMP為Linux、Nginx、Mariadb、PHP 指令碼內容: #!/bin/bash yum repolist &>/dev/null [ $? -eq 0 ]&

Linux入門學習筆記(五)--Shell指令碼編寫

Shell指令碼的HelloWorld:     cd /自己的路徑下     vi helloworld.sh 進入之後,預設是命令狀態,按i進入編輯模式     內容:         #! /bin/bash         echo "Hello World!"   

Linux操作入門練習之shell指令碼附答案(點選文末連結)

資料共享與整合技術 練習5 1、編寫shell指令碼,計算1-100的和; 指令碼: 結果驗證: 2、將一目錄下所有檔案的副檔名改為bak 指令碼: 驗證; 3、寫一個指令碼,統計/etc目錄下共有多少個目錄檔案 驗證: 4、寫一個指令碼, 依次向/etc/p

Shell程式設計-01-Shell指令碼初步入門

什麼是Shell     簡單來說Shell其實就是一個命令直譯器,而它的作用就是解釋並執行使用者輸入的命令及程式。使用者每輸入一條命令,Shell就解釋執行一次。這種方式很容易讓大家想起在Windows環境中使用的command命令,我們在cmd視窗輸入一條命令,按下Enter鍵,則執行相應的命令和結果。

30分鐘入門Shell指令碼程式設計

什麼是Shell指令碼 示例 #!/bin/sh cd ~ mkdir shell_tut cd shell_tut for ((i=0; i<10; i++)); do touch test_$i.txt done 示例解釋 第1行:指定指令碼直譯器,這裡是用

【Linux Shell指令碼攻略之一】find命令:檔案查詢和檔案列表

find是Unix/Linux命令列工具中最棒的工具之一。該命令對於編寫shell指令碼所起到的功能不可小視,但是多數人卻午飯最大程度發揮它的功效,下面介紹find一些常見的用法。 1.基本用法: