liunx Shell程式設計基礎

2021-09-26 06:28:56 字數 2142 閱讀 3174

一: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...