vim hello_world.sh
#!/bin/bash
echo "hello world !"
chmod +x *.sh
./hello_world.sh
hello,world!
#!/bin/bash
echo "hello,world!"
a=1b=`expr $a + 1`
echo $b
注意,變數名和等號之間不能有空格,這可能和你熟悉的所有程式語言都不一樣。同時,變數名的命名須遵循如下規則:
首個字元必須為字母(a-z,a-z)。
中間不能有空格,可以使用下劃線(_)。
不能使用標點符號。
不能使用bash裡的關鍵字(可用help命令檢視保留關鍵字)。
除了顯式地直接賦值,還可以用語句給變數賦值
其中, $1 表示呼叫該函式傳入的第1個引數。
17 say_nowtime()
21 22 say_nowtime "jack"
說明:
1、可以帶function fun() 定義,也可以直接fun() 定義,不帶任何引數。
2、引數返回,可以顯示加:return 返回,如果不加,將以最後一條命令執行結果,作為返回值。
shell 和其他程式語言一樣,支援多種運算子,包括:
算數運算子
關係運算子
布林運算子
字串運算子
檔案測試運算子
原生bash不支援簡單的數**算,但是可以通過其他命令來實現,例如 awk 和 expr,expr 最常用。
expr 是一款表示式計算工具,使用它能完成表示式的求值操作。
例如,兩個數相加(注意使用的是反引號 ` 而不是單引號 '):
#!/bin/bash
echo "hello,world!"
a=1b=`expr $a + 1`
echo $b
需要注意的是,$a + 1 之間必須要有空格,這跟大部分的程式語言不同。
image.png
需要注意的是,陣列之間的元素時用空格隔開的,不是用的逗號。
訪問陣列元素的語法是: $
另外,通過$$
可以訪問陣列所有元素。
獲取陣列的長度 $ :
image.png
有幾個特殊字元用來處理引數:
引數處理
說明$#
傳遞到指令碼的引數個數
$*以乙個單字串顯示所有向指令碼傳遞的引數
$$指令碼執行的當前程序id號
$!後台執行的最後乙個程序的id號
$@與$*相同,但是使用時加引號,並在引號中返回每個引數。
$-顯示shell使用的當前選項,與set命令功能相同。
$?顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。
與其他程式語言類似,shell支援for迴圈。
for迴圈一般格式為:
for var in item1 item2 ... itemn
do command1
command2
...commandn
done
寫成一行:
for var in item1 item2 ... itemn; do command1; command2… done;
當變數值在列表裡,for迴圈即執行一次所有命令,使用變數名獲取列表中的當前取值。命令可為任何有效的shell命令和語句。in列表可以包含替換、字串和檔名。
in列表是可選的,如果不用它,for迴圈使用命令列的位置引數。
例如,順序輸出當前列表中的數字:
for loop in 1 2 3 4 5
do echo "the value is: $loop"
done
if 語句語法格式:
if condition
then
command1
command2
...commandn
fi
寫成一行(適用於終端命令提示符):
if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi
shell中的 test 命令用於檢查某個條件是否成立,它可以進行數值、字元和檔案三個方面的測試。
詳見:源**:
$ cat hello_world.sh
#!/bin/bash
echo "hello,world!"
a=1b=`expr $a + 1`
echo $b
array=(1 2 3 4 5 "x" "y" "z")
echo $
echo $
echo "array[1] = $"
echo "array length = $"
say_nowtime()
say_nowtime "jack"
Shell極簡入門
簡單shell案例 使用vim建立乙個檔案hello.sh 首行新增宣告,使用的是 bin目錄下的bash直譯器,因為linux有很多的直譯器 bin bash 然後新增上一句 echo hello 按 輸入wq 儲存退出 為檔案新增可執行許可權 控制台輸入以下內容 chmod x hello.sh...
crontab極簡教程
toc crontab簡介 linux crontab是用來定期執行程式的命令。當安裝完成作業系統之後,預設便會啟動此任務排程命令。crontab常用命令 crontab e 開啟vi編輯器,編寫乙個定時任務,退出vi後,若vi內容不為空,則會建立乙個任務。crontab l 檢視當前已經建立的定時...
crontab極簡教程
目錄linux crontab是用來定期執行程式的命令。當安裝完成作業系統之後,預設便會啟動此任務排程命令。建立兩個定時任務。第乙個,一分鐘執行一次,使用echo輸出一串字元 第二個,兩分鐘執行一次,使用echo輸出另一串字元。在linux 的shell 中輸入crontab e 命令 echo o...