HP UX學習筆記(第四天) shell

2021-09-26 14:00:33 字數 3439 閱讀 3872

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 增刪查改 這篇暫時用來記錄使用者和表空間的操作 注意 使用者和表空間操作只有在系統使用者下才能執行,普通使用者時沒有許可權的,但是不清楚有沒有許可權賦給普通...