shell指令碼的一些基礎知識

2021-07-09 06:00:18 字數 2612 閱讀 1663

echo命令:列印文字

語法:echo [-ne][字串] 

引數:-n

不要在最後自動換行

-e開啟反斜槓esc轉義。若字串中出現以下字元,則特別加以處理,而不會將它當成一般文字輸出:

\a 發出警告聲;

\b 刪除前乙個字元;

\c 最後不加上換行符號;

\f 換行但游標仍舊停留在原來的位置;

\n 換行且游標移至行首;

\r 游標移至行首,但不換行;

\t 插入tab;

\v 與\f相同;

\\ 插入\字元;

\nnn 插入nnn(八進位制)所代表的ascii字元;

-e取消反斜槓esc轉義 (預設)

if用法:

if [ a=b ] :需要注意在if和[之間,[和a之間,b和]之間都需要有空格,沒有會報錯

if關於檔案的判斷:

1. -r file        --使用者可讀為真

2. -w file        --使用者可寫為真

3. -x file        --使用者可執行為真

4. -f file        --檔案存在且為正規檔案為真

5. -d file        --如果是存在目錄為真

6. -c file        --檔案存在且為字元裝置檔案

7. -b file        --檔案存在且為塊裝置檔案

8. -s file        --檔案大小為非0為真,可以判斷檔案是否為空

9. -e file        --如果檔案存在為真

邏輯判斷

1. -a     --與

2. -o     --或

3. !      --非

if內取非:if [ ! -d file] :注意此!和-d中間需要有空格

指令碼中取日期:

使用方式 : date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+format] [mmddhhmm[[cc]yy][.ss]] 

說明 : date 能用來顯示或設定系統的日期和時間,在顯示方面,使用者能設定欲顯示的格式,格式設定為乙個加號後接數個標記,其中可用的標記列表如下 : 

時間方面 : 

% : 印出 

% %n : 下一行 

%t : 跳格 

%h : 小時(00..23) 

%i : 小時(01..12) 

%k : 小時(0..23) 

%l : 小時(1..12) 

%m : 分鐘(00..59) 

%p : 顯示本地 am 或 pm 

%r : 直接顯示時間 (12 小時制,格式為 hh:mm:ss [ap]m) 

%s : 從 1970 年 1 月 1 日 00:00:00 utc 到目前為止的秒數 %s : 秒(00..61) 

%t : 直接顯示時間 (24 小時制) 

%x : 相當於 %h:%m:%s 

%z : 顯示時區 

日期方面 : 

%a : 星期幾 (sun..sat) 

%a : 星期幾 (sunday..saturday) 

%b : 月份 (jan..dec) 

%b : 月份 (january..december) 

%c : 直接顯示日期和時間 

%d : 日 (01..31) 

%d : 直接顯示日期 (mm/dd/yy) 

%h : 同 %b 

%j : 一年中的第幾天 (001..366) 

%m : 月份 (01..12) 

%u : 一年中的第幾周 (00..53) (以 sunday 為一周的第一天的情形) 

%w : 一周中的第幾天 (0..6) 

%w : 一年中的第幾周 (00..53) (以 monday 為一周的第一天的情形) 

%x : 直接顯示日期 (mm/dd/yy) 

%y : 年份的最後兩位數字 (00.99) 

%y : 完整年份 (0000..9999) 

若是不以加號作為開頭,則表示要設定時間,而時間格式為 mmddhhmm[[cc]yy][.ss], 

其中 mm 為月份, 

dd 為日, 

hh 為小時, 

mm 為分鐘, 

cc 為年份前兩位數字, 

yy 為年份後兩位數字, 

ss 為秒數 

把計 : 

-d datestr : 顯示 datestr 中所設定的時間 (非系統時間) 

--help : 顯示輔助訊息 

-s datestr : 將系統時間設為 datestr 中所設定的時間 

-u : 顯示目前的格林威治時間 

--version : 顯示版本編號 

date +%y-%m-%d

輸出: 2015-12-30

想在shell指令碼中把時間賦給某變數

val=`date +%y-%m-%d`

些處用的是`,esc下面的那個鍵,意思執行date +%y-%m-%d,把返回值賦給val。

Shell一些基礎知識

shell一些基礎知識 shell輸出 1 使用echo 來輸出語句 2 使用printf 來輸出語句 shell注釋 1 單行注釋 使用符號 2 多行注釋 方法一 方法二 兩個單引號 shell執行 1 檔名 2 bash 檔名 注 需要為要執行的檔案新增x可執行許可權 chmod u x 檔名 ...

一些基礎知識

關於cd cd 返回剛才的位置 關於ls ls l,簡寫ll ls a顯示的檔案以.開頭,隱藏檔案 la al 關於cp cp r tmp dir 拷目錄 tmp拷到dir 需要加 r的 cp rm 10 13 1.grep 在乙個字元集合中找到符合條件的行輸出 如 grep hello file ...

一些基礎知識

linux基礎知識考查 1 在linux 系統中,以 檔案 方式訪問裝置 2 前台起動的程序使用 ctrl c 終止。3 在使用ls 命令時,用八進位制形式顯示非列印字元應使用引數 b 4 在linux 系統中,用來存放系統所需要的配置檔案和子目錄的目錄是 etc 5 在linux 系統中,壓縮檔案...