shell指令碼簡單總結 個人版

2021-10-21 16:52:57 字數 1950 閱讀 9975

這是我在學習指令碼時產生的疑惑,我總結了一下,希望對大家有用

指令碼第一行#!/bin/bash#! /bin/sh,指出由哪個直譯器來執行指令碼中的內容

if

[ …… ]

then

echo

"……"

elif[……]

echo

"……"

else

echo

"……"

fi

語句中要使用elif,不能使用esle if

if語句要用fi結束

經常可以看到

if

[ …… ]

then

echo

"……"

else

echo

"……"

if或者

if[ …… ]

;then

echo

"……"

else

echo

"……"

if

為什麼分號有的使用,有的不使用?分號有什麼用?

分號在shell中不是語句的結束符

分號是用來區分一行語句中的多個**塊,如果一行語句存在多個**塊,而不使用分號分隔,例如if[ …… ] then那麼執行就會報錯,如果一行只有乙個**塊,那麼就不需要分號了。

有時複製別人shell語句後執行指令碼,會報出錯,但是這個命令你明明知道它是存在的,但指令碼就是在報錯。

這是因為在複製過程**現了不可見的未知字元,使用cat -a ***.sh檢視指令碼會發現這些字元。

將這些字元刪掉就可以正常執行了

>表示重定向

1表示標準輸出,系統預設為1,所以1可以省略,>/dev/null 和 1>/dev/null 等價

2表示錯誤輸出

/dev/null表示乙個空裝置,是乙個「黑洞」,通常被用於丟棄不需要的輸出流,輸出到這裡的輸出流將不會顯示任何資訊

&表示等同,2>&1就表示錯誤輸出的重定向輸出裝置等同於標準輸出

1>/dev/null 2>&1表示不顯示任何的資訊在指令碼執行中,系統也會正常輸出本身的錯誤資訊,和指令碼執行結果混在一起,顯的十分混亂,所以通常會捨棄掉系統的資訊。

:在shell指令碼中表示空語句,只是起到乙個佔位符的作用

if[$1

-eq"a"

]then

:else

:fi

$# :位置引數的數量

$0 :當前執行的程序名

$1 :第乙個位置引數

$2 :第二個位置引數

……$* :所有的位置引數

$$ :當前程序的程序號

一般在shell程式設計中,-eq 等用於整數的比較,= 等用於字串的比較

整數字串

-eq==

-ne!=

-gt>

-ge>=

-lt<

-le<=

case  $1  in

a)echo

"您選擇了a";;

b)echo

"您選擇了b";;

*)echo

"您未選擇a和b"

esac

for

((i=10;i>0;i--))

doecho

"倒計時$i"

done

個人版室收費系統總結

用了乙個月的時間,成品個人版的房費制度的重構,不是對心臟的總結是有點放心。首先說說一年前第一次敲機房收費系統的事兒,那是純面向過程,能實現功能就能夠。當初完畢了這個系統。可謂是在提高班學習中的又乙個里程碑,純手工製作。精心打造。我們學會了分析業務流程,消化吸收vb和資料庫的學習成果,提高對 的親和力...

機房收費系統個人版重構總結

10號進行了第二次驗收,這次驗收成長了不少,大致的看了一下,這次的重構用了將近四十天的時間,實在感覺前段時間效率太低,著急的晚上也弄,整了半天,還是沒有多大進展,如果沒有想法,沒有思路,加班也是做無用功 因為第二天還得返工 從這次重構中,自己學到了很多。一開始自己敲的都是查詢窗體,由於自己一開始用的...

打造個人版錄影工具

請注意 該動畫內如含廣告與本站無任何關係,為作者個人宣傳,網路交易風險自負 動畫名稱 修改錄製工具 主題 打造個人版錄製工具 講師 小帥 qq752081382 工具 1.reshacker 2.s player 我會打包!用reshacker 開啟 s player.exe 找一下我們所需要改的文...