#!/bin/sh
#第一行告訴系統誰來執行這傻逼玩意兒
$# #傳送到指令碼的參數個數
$$ #指令碼運行時當前進程的ID號,常用作臨時變數的尾碼,如haison.$$
$! #後台啟動並執行最後一個進程的ID號
chmod u+x abc.sh #賦予user執行許可權
chmod a+rwx abc.sh #賦予所有人所有許可權
./abc.sh
who -a #顯示使用者的所有資訊
echo -e "\033[31m \033[05m error: no log type $1. \033[0m"; #紅色字閃爍(?)
echo -e "\033[31m error: no log type $1."; #紅色字
tail #只顯示檔案的後十行
檔案類型:
b block c character d directory l link p pipe s socket
許可權種類:
r read w write x excute
檔案狀態測試:
-d 目錄 -f 常規檔案 -L 符號串連 -s 檔案長度大於0,非空 -r 可讀
-w 可寫 -x 可執行 -u 檔案有suid位設定
樣本: [ -r haison.c –a –w hai.c ]
字串測試:
= 兩個字串相等 != 兩個字串不相等 -z 空串 -n 非空串
數值測試:
-eq 相等 -ne 不等 -gt 大於 -lt 小於 -ge 大等 -le 小等
函數裡定義的變數以底線(_)開始
殺進程:
ps -ef | grep xxx #pgrep xxx
kill -s 9 pid
或者 pgrep xxx | xargs kill -s 9 #注意這裡pgrep要準確,否則會錯殺..
或者 kill -s 9 `pgrep xxx`
或者 pkill -9 xxx #xxx一定要準確啊,否則很危險的= =
花括弧來告訴shell我們要列印的是num變數
echo "this is the ${num}nd"
> 寫入檔案並覆蓋舊檔案
>> 加入檔案尾部
開機掛硬碟:
/etc/fstab下
/dev/sdb /mnt ext3 defaults 0 0
select用法
echo "What's ur favourite OS?"
select var in "Linux" "GnuHurd" "Free BSD" "Other";do
break
done
echo "You have selected $var"