1.
shift命令:使用者把命令列的引數向左移動乙個位置,當使用shift命令時,第乙個引數被丟棄。shift命令丟棄最左邊的變數($1)並把剩餘的變數重新指定值,可以在shift操作後,引數值永遠丟棄並不能被程式恢復。
可以一步完成多個shift操作,比如shift 3。
2.
read命令:從使用者那裡取得一行輸入並把它指定給乙個變數,變數名作為乙個引數提供給read命令。
3.
用於echo命令的規避字元:
\a 報警字元
\b 退格
\c 在顯示檔案的結尾禁止新行
\f 換頁
\n 插入乙個新的字元行
\r 回車
\t 插入乙個tab字元
\\ 反斜線
4.
數字測試:
-eq 等於 -ne 不等於 -lt 小於 -gt 大於 -le 大於或等於 -ge 大於或等於
5.
字串測試:
string1 = string2 如果string1等於string2為真
string1 != string2 如果string1不等於string2為真
-z string 如果string的長度是零為真
-n string 如果string的長度不是零為真
string 同上
6.
檔案測試:
-d file 如果乙個檔案是乙個目錄為真
-f file 如果檔案存在並且是乙個正常檔案為真
-l file 如果乙個檔案是符號鏈結為真
-s file 如果乙個檔案長度大於0位元組為真
-r file 如果乙個檔案是可讀為真
-w file 如果乙個檔案是可寫為真
-x file 如果乙個檔案是可執行為真
-e file 如果乙個檔案存在為真
file1 -nt file2 如果file1比file2新為真
file1 -ot file2 與上面相反
7.
邏輯操作符:
expr1 -o expr2 邏輯或,如expr1或expr2其中一真即為真
expr1 -a expr2 邏輯或,如expr1與expr2都真即為真
!expr 邏輯非,非之即真
8.
除錯程式時,可以把程式第一行#!/usr/bin/sh後面加上-x,當你執行這個程式時,它在執行前把每一行顯示在終端螢幕上,在程式中真正的行在它的開頭顯示乙個+號,後面跟著它的輸出,注釋資訊不顯示。
9.
如果乙個shell程式中沒有提供shell名,程式可能被乙個錯誤的shell執行,由於每種shell有不同的控制結構,執行不會成功。
10.
test命令的真返回值是0
11.
編寫時需注意:if空格[空格"$1"空格=空格"$2"空格]
12.
for-do-done:以固定次數執行乙個命令塊
while-do-done:迴圈檢查乙個條件並執行乙個程式塊直到條件變成假
until-do-done:迴圈重複執行乙個命令塊直到乙個條件為真,迴圈中止
let命令使用者在迴圈中做算術,邏輯和賦值操作並改變控制變數的值。
顯式表達:let "var1">"var2"
隱式表達:((var1>var2))
13.
使用sed流編輯器,從stdin得到文字並編輯後傳送到stdout
sed s/echo/echo/g myfile
將當前目錄中的所有檔案中的echo替換成echo
shell例子:
#!/usr/bin/sh
for file in *
docat $file | sed s/echo/echo/g >tempfile
cp tempfile $file
done
rm tempfile
在使用sed替換的時候,如果有替換內容是目錄,可以使用:來分隔,比如想將/etc/passwd裡面的/usr/bin/sh替換為/usr/sh:
sed s:/usr/bin/sh:/usr/sh:g /etc/passwd
14.
使用cut:從一行文字中提取資料的特定部分
cut -f 1 -d : /etc/passwd
-f 1選項告訴這個命令你想提取的字段號是1,-d :選項裡顯示資料中的字段使用:分隔
cut -c 1-8 #提取每行前8個字元
shell例子:
#!/usr/bin/sh
for user in $(cut -f 1 -d : /etc/passwd)
domailx -s "test mail" $userdone
用cut建立乙個使用者名稱列表並給列表中乙個名字傳送乙個mail訊息
cut用法:
15.
使用sleep命令使用者把執行掛起一段特定的時間
for file in *
doll $file
sleep 5
done
列出當前目錄下的所有檔案並在每個檔案之間暫停5秒
16.
輸出製表符:
a=1b=2
c=3hp-ux::echo "$a\t$b"
reahat:echo -e "$a\t$b"
第四天筆記
linux許可權問題 使用者管理和組管理 軟體的操作 軟體的安裝 軟體的解除安裝 軟體的查詢 ram rpm redhat package manager rpm rpm i 安裝軟體 rpm ivh 安裝軟體,並且顯示進度 rpm e 解除安裝軟體 rpm e nodeps 解除安裝軟體時或略依賴...
第四天學習
一 權重關係 樣式表的權重關係 內聯樣式表的權重最大!內部和外部樣式的權重,和書寫的前後順序有關!放在後面的會把放在前面的樣式覆蓋掉 網頁的布局 先做上下排版 再做左右排版 從外往裡 二 css語法 選擇符選擇符 選擇符就是給標籤起名字 型別選擇符 標籤選擇符 所有的html標籤可以直接當做選擇符進...
Oracle學習筆記第四天
現在表已經建好了,資料也插入進去了,但是感覺之前的知識還有所欠缺,現在開始查漏補缺一下,中間可能點重複的內容。資料庫基本操作都離不開 crut 增刪查改 這篇暫時用來記錄使用者和表空間的操作 注意 使用者和表空間操作只有在系統使用者下才能執行,普通使用者時沒有許可權的,但是不清楚有沒有許可權賦給普通...