一:bash命令
bash test.sh //執行test.sh
bash -n test.sh //檢查語法錯誤
bash -x test.sh //除錯程式
bash -s filename //是否存在且非空
bash -t filename //檔案描述符是否在終端開啟
bash -n filename //檔案上一次讀取後是否被修改後
bash -o filename //當前有效檔案是否為檔案屬主
bash -g filename //當前有效檔案是否為檔案屬組
file1 -ef file2 //file1是否與file2的硬鏈結
file1 -nt file2 //file1是否新於file2
file1 -ot file2 //file1是否舊於file
二:變數的分類
[coder@15:21:00 ~]$ name=li
[coder@15:28:17 ~]$ echo
$name
li[coder@15:28:24 ~]$ bash
[coder@15:28:27 ~]$ echo
$name
//無值顯示
[coder@15:31:19 ~]$ name=xx
[coder@15:32:30 ~]$ echo
$name
xx[coder@15:32:34 ~]$ export
$name
[coder@15:32:43 ~]$ bash
[coder@15:32:47 ~]$ echo
$name
xx[coder@15:34:58 ~]$ env
#顯示所有的環境變數
xdg_session_id=3
hostname=bogon
selinux_role_requested=
shell=/bin/bash
term=xterm
histsize=1000
ssh_client=192.168.159.129 6208 22
selinux_use_current_range=
ssh_tty=/dev/pts/0
name=pp
[coder@15:45:40 ~]$ declare -r
declare -r bashopts=
[coder@15:40:11 ~]$ name=mage
bash: name: 唯讀變數
[coder@15:44:25 ~]$ unset name
bash: unset: name: 無法刪除設定: 唯讀 variable
注意:使用完變數需刪除變數,unset name
三:算術運算子
(1)let var=算術表示式
(2)var=$[算術表示式]
(3)var=$((算術表示式)
(4)var=$(expr arg1 arg2 arg3 …)
(5)declare-i var=數值
(6)echo『算術表示式』|bc
乘法符號有些場景中需要轉義,如*
◆bash有內建的隨機數生成器:$random(0-32767)
echo [
[[random%50]:0-49之間隨機數
四:邏輯運算
cmd1&&cmd2 #命令一為假不執行命令二,命令以為真,執行命令二
cmd1||cmd2 #命令一為真不執行命令二,命令以為假,執行命令二
五:字串對比
shell中的比較不是使用簡單的》 = 《等,而是用擴充套件符,如下所示:
符號意義
-eqequal 等於
-neno equal 不等於
-gtgreat than 大於
-ltlow than 小於
-gegreat and equal 大於等於
-lelow and equal 小於等於
Liunx Shell常見用法
1 expr計算整數變數值 expr 1 3 結果 4注意 整數和運算子要空格開 2 冒號使用 示例 如果變數str不為空,就等於str的值,若str為空,就把expr的值賦值給str。shell的冒號相當於sql的isnull 3 basename 去掉檔名的目錄和字尾 示例一 root web ...
liunx shell 常用命令
e filename 如果 filename存在,則為真 e var log syslog d filename 如果 filename為目錄,則為真 d tmp mydir f filename 如果 filename為常規檔案,則為真 f usr bin grep l filename 如果 f...
liunx shell指令碼定時刪除系統檔案
crontab定時命令 每週五晚上11點30分 30 23 5 sh opt soft userdata log delete.sh bin bash 需要清空的目錄名稱 dir home dsserver 測試目錄 dir opt soft data file name nohup.out fil...