測試
test expression || [ expression ] 方括號與表示式之間有空格
判斷if [ expression ]; then
command
else
if [ expression ]; then
command
fifi
case "$var" in
var1) command1 ;; #;;結束邊界
var2) command2 ;;
*) command ;; #default
esac
for迴圈
for variable in (list)
list:
1 2 3 4 5
$() 替換 ``命令 `seq 1 100` $(seq 1 100) or $(seq 1 2 100) step 2
不代列表迴圈
for variable # variable in $@ 可讀性更好
類c的迴圈
for ((expression1; expression2; expression3)) #可以expression1,expression4;
doecho -n "$i" #不換行
done
無限迴圈
for ((;1;)) expression2永遠為真
while迴圈
while [[ expression ]]
例cat file.txt | while read line 通過管道
done < file.txt 重定向,差別在於管道會比重定向多兩個程序
無限迴圈
while true || while ((1)) || while :
until迴圈
until expression #條件不為真時
無限迴圈
until ((0)) || until false
select迴圈
select menu in (list)
docommand # 此處用break跳出 還可以巢狀 case/esac
done
function
function function_name()
匯入. file
source /path/myshell.sh
shell雜記 shell特別點
1 shell變數 變數名和等號之間不能有空格 your name runoob.com 唯讀變數定義 readonly you name,在定義後無法被修改 刪除變數 unset your name 獲取字串長度 echo 提取子字串 echo 2 shell陣列 定義陣列用空格隔開或者換行。僅支...
Android學習雜記(二)布局
android id id my button 指r檔案,可以不要 是指解析器 relativelayout是linearlayout的子類 viewgroup.layoutparam 確定了子檢視的高和寬 layout height,layout width android layout heig...
c 基礎學習雜記(二)
1。c 中結構體可以用new在棧裡分配結構體空間,也可以直接宣告變數就算分配空間,如 struct point point pt1 new point point pt2 這兩種方式的區別是,用new會將point中的字段初始化為0,而不用new則不會,在使用前還需要初始化變數,c 規定變數初始化以...