拿最簡單的hello word
舉例shell
.#!/bin/bash echo 'hello world'
方法一
(推薦使用)vim
chmod 777 myshell.sh #給文件權限 ./myshell.sh #運行文件
方法2
bash
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` 運算符之間必需要有空格 + #加 - #減 / #除 % #取餘 \* #乘 \( \) #括號