shell的知識點並不多,這裡簡單介紹一下常用的一些東西
echo
echo
"test"
echo
"\"test\""
echo
"$key"
echo -e "ok! \n"
# -e 開啟轉義
echo -e "ok! \c"
# -e 開啟轉義 \c 不換行
echo
"test"
> myfile
echo
'$name\"'
echo
`date
`
printf
命令的語法
printf format-string [arguments...]
test
test命令用於檢查某個條件是否成立,它可以進行數值、字元和檔案三個方面的測試
引數說明
-eq
等於則為真
-ne
不等於則為真
-gt
大於則為真
-ge
大於等於則為真
-lt
小於則為真
-le
小於等於則為真
e.g.
num1=100
num2=100
iftest $[num1] -eq $[num2]
then
echo
'兩個數相等!'
else
echo
'兩個數不相等!'
fi
引數
說明=
等於則為真
!=
不相等則為真
-z 字串
字串的長度為零則為真
-n 字串
字串的長度不為零則為真
e.g.
num1=
"ru1noob"
num2=
"runoob"
iftest
$num1
=$num2
then
echo
'兩個字串相等!'
else
echo
'兩個字串不相等!'
fi
引數
說明-e 檔名
如果檔案存在則為真
-r 檔名
如果檔案存在且可讀則為真
-w 檔名
如果檔案存在且可寫則為真
-x 檔名
如果檔案存在且可執行則為真
-s 檔名
如果檔案存在且至少有乙個字元則為真
-d 檔名
如果檔案存在且為目錄則為真
-f 檔名
如果檔案存在且為普通檔案則為真
-c 檔名
如果檔案存在且為字元型特殊檔案則為真
-b 檔名
如果檔案存在且為塊特殊檔案則為真
e.g.
cd /bin
iftest -e ./bash
then
echo
'檔案已存在!'
else
echo
'檔案不存在!'
fi
cd /bin
if[ -e ./bash ]
then
echo
'檔案已存在!'
else
echo
'檔案不存在!'
fi
函式的定義格式
[
function
] funname [()
]
注:function是可選引數,函式的返回值:如果沒有return,那麼將以最後一條命令的執行結果作為返回值
如果前括號寫在函式名後,一定要留有空格,如果函式名後帶有()
,此時可以不用空格
e.g.
functest(
)echo
"func start"
demofun 2
echo
"func stop"
函式返回值在呼叫該函式後通過$?
來獲得
命令說明
command > file
將輸出重定向到 file
command < file
將輸入重定向到 file
command >> file
將輸出以追加的方式重定向到 file
n > file
將檔案描述符為 n 的檔案重定向到 file
n >> file
將檔案描述符為 n 的檔案以追加的方式重定向到 file
n >& m
將輸出檔案 m 和 n 合併
n <& m
將輸入檔案 m 和 n 合併
<< tag
將開始標記 tag 和結束標記 tag 之間的內容作為輸入
將指令碼內所有輸出重定向到檔案
exec 1>file1 #標準輸出
exec 2>file2 #標準錯誤
語法格式如下
. filename # 注意點號(.)和檔名中間有一空格
或
source filename
shell 常用命令,重定向和檔案包含
shell的知識點並不多,這裡簡單介紹一下常用的一些東西 echoecho test echo test echo key echo e ok n e 開啟轉義echo e ok c e 開啟轉義 c 不換行echo test myfileecho name echo date printf 命令的...
重定向和檔案查詢
檔案描述符 核心 kernel 利用檔案描述符 file descriptor 來訪問檔案。檔案描述符是非負整數。開啟現存盤案或新建檔案時,核心會返回乙個檔案描述符。讀寫檔案也需要使用檔案描述符來指定待讀寫的檔案。linux下一切皆檔案。stdin 標準輸入 如 鍵盤檔案 檔案描述符為 0 stdo...
Linux常用檔案重定向命令
最近在學linux shell,碰到了檔案重定向符,覺得有用就整理了一下 在 shell 程式中,最常使用的 fd 大概有三個,分別為 0 standard input stdin 1 standard output stdout 2 standard error output stderr 在標準...