shell編程基本語法和變量

一.編寫shell腳本基本格式

拿最簡單的hello word舉例shell

.#!/bin/bash       
echo 'hello world'
  • .#!/bin/bash:告訴計算機,使用bash解釋器來執行代碼
  • echo: 打印

二.運行shell腳本

方法一(推薦使用)vim

chmod 777 myshell.sh

#給文件權限

./myshell.sh

#運行文件

方法2bash

sh myshell.sh

三.註釋

單行註釋
#內容

多行註釋
:<<!
內容
!

四.定義變量

基本語法命令行

1.定義變量:變量名=變量值
2.撤銷變量:unset 變量名
3.聲明靜態變量:readonly 變量名     #靜態變量不能unset

將命令執行結果返回變量
1.A=`ls -la` 反引號
2.A=$(ls -la) 等價於反引號

系統變量:
    $PATH
    $HOME
    $PWD
    $SHELL
    $USER

五.設置環境變量

基本語法設計

export 變量名=變量值      將shell變量輸出給環境變量
source 配置文件名稱          讓修改後的配置信息當即生效
echo $變量值                 查看環境變量的值


舉例
vim a.sh
export a = 111
:wq
source a.sh
echo $a
111

六.位置參數變量

主要是給shell腳本傳參數code

$n (功能描述:n 爲數字,$0 表明命令自己,$1-$9 表明第一到第九個參數,十以上的參數,十以上的參數須要用大括號包含,如${10})

$* (功能描述:這個變量表明命令行中全部的參數,$*把全部的參數當作一個總體)

$@  (功能描述:這個變量也表明命令行中全部的參數,不過$@把每一個參數區分對待)


$#(功能描述:這個變量表明命令行中全部參數的個數)

舉例進程

a.sh腳本里面的內容for循環

#!/bin/bash  

echo $2   #展現第二個參數
echo $*   #這個總體
echo $@   #這個分開for循環中才有提現
echo $#   #傳參的個數

執行class

[root@ywy ~]# sh a.sh 1 2 3
a.sh: line 1: .#!/bin/bash: No such file or directory
2
1 2 3
1 2 3
3

七.預約義變量

就是shell設計者事先已經定義好的變量,能夠直接在shell腳本中使用後臺

$$  (功能描述:當前進程的進程號(PID))
$!  (功能描述:後臺運行的最後一個進程的進程號(PID))
$?  (功能描述:最後一次執行的命令的返回狀態。若是這個變量的值爲 0,證實上一個命令正確執行;若是這個變量的值爲非 0(具體是哪一個數,由命令本身來決定),則證實上一個命令執行失敗)

八.變量的基本運算

 

運算表達式

1.$((運算式))  #$((1+1)) 不要有空格
2.$[運算式]   #$[1+1]  不要有空格
上面兩種運算符號都是普通的不要\註釋掉


這種比較特別
3.`expr m + n`  #`expr 1 + 1`  運算符之間必需要有空格 
+   #加
-   #減
/   #除
%   #取餘
\*  #乘
\(  \)  #括號
相關文章
相關標籤/搜索