示例均來自網路,附帶有原始鏈結位址,自己練習整理發出,均測試可用
linux shell 基本語法 - 周學偉 -
定義變數,等號左右不要有空格
通過export 變成全域性變數
#!/bin/bash
#a.sh
a=666
b=hello
g_user=root
export g_user#全域性變數
echo $a
echo $b
echo $g_user
#呼叫
bash a.sh
圓括號
current_date=$(date)
echo current data is [$current_date]
用反引號,和鍵盤上的波浪符號乙個鍵(僅參考,使用1即可)
current_date=`date`
echo current data is [$current_date]
花括號加反引號(僅參考,使用1即可)
current_date=
echo current data is [$current_date]
#!/bin/bash
#a.sh
if [[ $1 == 1 ]]; then
echo "first argument is 1"
else
echo "first argument is not 1"
fi#呼叫
bash a.sh 1
#!/bin/bash
#a.sh
case $1 in
1)echo "the case is 1"
;;2)
echo "the case is 2"
;;3)
echo "the case is 3"
;;4)
echo "the case is 4"
;;*)
echo "no case match first argument"
;;esac
#呼叫
bash a.sh 2
形式一
#!/bin/bash
#a.sh
for (( i = 0; i < 10; i++ )); do
echo "current value is $i"
done
#呼叫
bash a.sh
形式2
#!/bin/bash
#a.sh
for i in 1 2 3 4 5; do
echo "current value is $i"
done
#呼叫
bash a.sh
#!/bin/bash
#a.sh
i=$1
while [[ $i > 0 ]];
do echo "now i's value is $i"
let "i=i-1"
done
#呼叫
bash a.sh 10
shell自定義函式 - 立志做乙個好的程式設計師 -
#!/bin/bash
#a.sh
function add()
plus()
value=$(add $1 $2);
echo "[echo value:$value,function add value:$?]"
value=$(plus $1 $2);
echo "[echo value:$value,function plus value:$?]"
#呼叫
bash a.sh 5 7
#!/bin/bash
#a.sh
name=(a bbb c d e f g) #陣列
length=$ #獲取陣列長度
echo length1:$ #獲取陣列長度
echo length2:$ #獲取陣列長度
echo length3:$ #取得陣列單個元素的長度
for (( i = 0; i < $length; i++ )); do
echo value $i=$ #讀取陣列的值
done
#呼叫
bash a.sh
shell中重定向的深入講解_linux shell_指令碼之家
> 輸出重定向,覆蓋方式
>> 輸出重定向,追加方式
< 輸入重定向
<< 標準輸入來自命令列的一對分隔號的中間內容
例項
#生成 input.txt
cat zhao
qian
sunli
zhou
wuzheng
wang
eof#將input.txt檔案作為sort命令的輸入
sort < input.txt
# 將排序後的結果輸出到input.sort.txt檔案中
sort < input.txt >input.sort.txt
# 將排序後的結果追加輸出到input.txt檔案中
sort < input.txt >> input.txt
#將標準輸入重定向為input.txt檔案,標準輸出重定向為input2.txt檔案(追加),將標準錯誤重定向為error檔案
sort 0< input.txt 1>> input2.txt 2> input.error.txt
乙個程式的的輸入可以來自於鍵盤,也可以來自於檔案或者其他裝置;同樣的,乙個程式也可以將輸出顯示在螢幕或者儲存到檔案中。這就涉及到標準輸入、標準輸出和標準錯誤。
程式的輸入是標準輸入,預設是鍵盤,使用者可以將其指定為檔案或其他裝置。
程式的輸出有兩種,即標準輸出和標準錯誤,其中標準輸出是程式的正常輸出、標準錯誤是程式的錯誤輸出。二者預設都被指定為螢幕,使用者可以將其指定為檔案或其他裝置。
每個輸入源和輸出地都有乙個描述符,標準輸入的描述符為0,標準輸出的描述符為1,標準錯誤的描述符為2。
linux下eof寫法梳理 - 散盡浮華 -
執行指令碼的時候,需要往乙個檔案裡自動輸入n行內容。如果是少數的幾行內容,還可以用echo追加方式,但如果是很多行,那麼單純用echo追加的方式就顯得愚蠢之極了!
這個時候,就可以使用eof結合cat命令進行行內容的追加了。
eof是end of file的縮寫,表示自定義終止符.既然自定義,那麼eof就不是固定的,可以隨意設定別名,在linux按ctrl-d就代表eof.
eof一般會配合cat能夠多行文字輸出.
#把eof的內容作為cat 的輸入
cat aaabbb
ccceof
獲取引數定義
#!/bin/bash
#a.sh
while getopts "a:b:c:r:" arg; do
case $arg in
a)a=$optarg
;;b)
b=$optarg
;;c)
c=$optarg
;;r)
repo=$optarg
;; ?)
echo you need help
;;esac
done
echo "a:$a,b:$b,c:$c,repo:$repo"
#呼叫
bash a.sh -a 3 -b 4 -c 5 -r 6
Linux bash語法提要
command command 執行相關的命令 獲取變數的值 計算式 算術運算,只能進行整型計算,如果有小數時,可以使用bc命令進行輔助 單引號 不具備變數置換功能 雙引號 具備變數置換功能 使用絕對或相對路徑,以及 bash sh script.sh執行時都會使用乙個全新的bash環境來執行scr...
linux bash的基礎特性
bash的基礎特性 2 1.命令別名 alias 通過alias命令實現 1 alias 顯示當前 shell 程序所有可用的命令別名 2 alias name value 定義別名name,其相當於執行命令 value 注 在命令列中定義的別名,僅對當前shell程序有效,若果想永久有效,要定義在...
Linux bash基礎特性
2.2 檔案相關 2.3 指令碼程式設計相關 2.4 其他 shell程式是獨特的程式,這個程式提供了乙個介面 就那黑乎乎的命令列介面,即linux的終端介面 使用者通過這個介面訪問作業系統核心的服務,從而解析使用者提供的命令。而bash bourne again shell 是眾多shell的一種...