導航:首頁 > 程序命令 > bashif命令

bashif命令

發布時間:2023-05-29 16:25:14

① bash shell里,在if條件判斷中,-o與-a有沒有優先順序

判斷文件內容為空則刪除,如果寫成腳本或者一條命令需要對以咐碼下語句做一點沖槐變換。\r\nif ( $1 -s 0 )\r\n{\r\散簡友nrm -rf *\r\n}

② 求Bash Shell腳本,判定文件是否存在。

shell
判斷語句
流程式控制制
"if"
表達式
如果條件為真則執行then後面的部分:
if
....;
then

....
elif
....;
then

....
else

....
fi
大多數情況下,可以使用測試命令來對條件進行測試。比如可以比纖讓友較字元串、判斷文件是否存在及是否可讀等等…
通常用"
[
]
"來表示條件測試。注意這里的空格很重要。要確保方括弧的空格。
[
-f
"somefile"
]
:判斷是否是一個文件
[
-x
"/bin/ls"
]
:判斷/bin/ls是否存在並有可執行許可權
[
-n
"$var"
]
:判斷$var變數是否有值
[
"$a"
=
"$b"
]
:判斷$a和$b是否相等
-r
file用戶可讀為真
-w
file用戶可寫為真
-x
file用戶可執行為真
-f
file文件為正規文件為真
-d
file文件為目錄為真
-c
file文件為字元特殊文件為真
-b
file文件為塊特殊文件為真
-s
file文件大小非0時為真
-t
file當文件描述符(默認為1)指定的設備為終端時為真
#########################################################
含條件選擇的shell腳本
對於不含變數的任務簡單shell腳本一般能勝任。但在執行一些決策任務時,就需要包含if/then的條件判斷了。shell腳本編程支持此類運算,包括比毀槐較運算、判斷文件是否存在等。基本的if條件命令選項有:
-eq
—比較兩個參數是否相等(例如,if
[
2
–eq
5
])
-ne
—比較兩個參數是否不相等
-lt
—參數1是否小於參數2
-le
—參數1是否小於等於參數2
-gt
—參數1是否大於參數2
-ge
—參數1是否大於等於參數2
-f

檢查某文件是否存在(例如,if
[
-f
"filename"
])
-d

檢查目錄是否存在
幾乎所有的判斷都可以用這些比較運算符實現。腳本中常用-f命令選項在執行某一文件滑衡之前檢查它是否存在。
##################################################################
判斷文件是否存在
#!/bin/sh
today=`date
-d
yesterday
+%y%m%d`
file="apache_$today.tar.gz"
cd
/home/chenshuo/shell
if
[
-f
"$file"
];then
echo
"OK"
else
echo
"error
$file"
>error.log
mail
-s
"fail
backup
from
test"
[email protected]
<error.log
fi

③ Linux裡面shell裡面fi命令作用是什麼

fi 是if語句的固定格式,shell裡面有各種循環,都有固定的格式,個人理解是告訴計算機,這個循環語句到此,類似case循環一esac結尾一樣。

④ bash shell中if [-f $2]和echo -e是什麼意思

if [ -f $2 ]
do
command
done
if後接的是測試語句, [ ] 中相當於test命令. -f $2 一般的意思是檢測第二個位置參數是否存在

echo -e 後一般會接參數,
-e 若參握鎮數出現以下字元,則特別加以處理段碼粗,而不會將它當成一般
文字輸出:
\a 發出警告聲;
\b 刪除前一個字元;
\c 最後不加上換行符號;
\f 換行但游標仍舊停留在原來的位置;
\n 換行且游標移至行首;
\r 游標移至行首,但不換行;
\t 插入tab;
\v 與\f相模毀同;
\\ 插入\字元;
\nnn 插入nnn(八進制)所代表的ASCII字元;
echo 語法:echo [-ne][字元串]或 echo [--help][--version]

⑤ shell腳本中的if中多條件語句如何寫。

可以使用 if-elif-else 語法來寫多條件語句。

1、首先要理解if-else的基本用法,if條件+then操作+else操作+fi閉合,書寫方法如下:

2、 shell語法中[[ ]]和[ ]的主要區別

(1) [ ] 實際上是bash 中 test 命令的簡寫。即所有的 [ expr ] 等於 test expr。
對 test 命令來說, 用 -eq 要進行數字比較,而你此時傳入字元串,就報錯了。


(2) [[ ]] 是內置在shell中的一個命令,它比test強大的多。支持字元模昌咐串的模式匹配(使用=~操作符時甚至支持shell的正則表達式)。邏輯組合可以不使用test的-a,-o而使用&& ||。

⑥ shell 腳本 if 的用法小問題

1. 執行shell腳本的時候加上 -x ,執行腳本時會把過程列出來!(有利於我這種新手學習)sh -x shell (./shell 也可以執行shell腳本 但是沒有-x參數)2. 傳的值的個數大於 read 定義的接受變數的時候會把多戚兆碼余的值都給最後一個變數!!3. expr 對整數型變數進行運算 如果運算結果不是整數小數點後面的全部省去 (乘號要用轉意字元'/') .4. 在shell腳本裡面 執行一條輸出的命令(pgrep mysqld)怎麼吧輸出的結果作為值賦給變數?web=$(/usr/bin/pgrep mysqld) #可以用 變數=$(命令) 和 變數=`命令` 來吧命令執行的結果賦給變數
if [ $web = ]
then
/etc/init.d/mysql start
fi

5.查看某個命令所在的位置可以用 whereis /which/type 三個命令來查看6.awk命令的應用作用:分段提取! (一行為單位來進猜信行分段)awk -F [分隔符] '條件 動作' /對象例: awk -F : '$3==0 {print $1}' /高哪etc/passwd例: awk -F : '$1 == root {print $1} ' /etc/passwd# -F : 用:分割passwd每行的內容 ($1 指第一段內容 $2 指第二段內容$n 指第n段內容)# ' 匹配 動作' 單引號裡面寫的是 匹配命令和列印動作 匹配$3==0 第三段等於0 列印{print $1} 列印第一段內容 ($3 == 0 匹配出行 在列印出這些行的第一段內容 )

⑦ shell if 多條件判斷

#其中mkdir外面陪晌的符號是esc下來那個按鍵上的符號,表示執行命令
#!/bin/bash
if[`mkdir-p~/1/1`-a`mkdir~/2`];then
echo"成立{$?}"
else
echo兄春"不成立羨亂耐{$?}"
fi

⑧ shell的if命令如何判斷一個文件中所含指定字元串

1、字元串判斷

1)str1 = str2當兩個串有相同內容、長度時為真 ;

2)str1 != str2 當串str1和str2不等時為真 ;

3)-n str1 當串的長度大於0時為真(串非空) ;

4)-z str1 當串的長度為0時為真(空串) ;

5)str1 當串str1為非空時為真。

2、數字的判斷

1)int1 -eq int2兩數相等為真;

2)int1 -ne int2兩數不等為真;

3)int1 -gt int2int1大於int2為真;

4)int1 -ge int2int1大於等於int2為真;

5)int1 -lt int2int1小於int2為真;

6)int1 -le int2int1小於等於int2為真。

3、文件的判斷

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)-t file當文件描述符(默認為1)指定的設備為終端時為真。

⑨ bash shell編程中,如何使用if判斷ifconfig|grep ppp0這樣一條命令的返回

用命令取值,付值給一個變數,if該變數=0 then
balabalabala

⑩ 10 分鍾學會Linux常用 bash命令

顯示所有的環境變數,如果你想獲取某個變數的詳細信息,使用 echo $VARIABLE_NAME .

Example:

whereis使用系統自動睜段構建的資料庫來搜索可執行文件,源文件和手冊頁面。

Example:

它在環境變數PATH指定的目錄中搜索可執行文件。此命令將列印可執行文件的完整路徑。兄岩

Example:

清除窗口上的內容。

列出您的文件。 ls 有很多選項: -l 列出「長格式」的文件,其中包含文件的確切大小,擁有該文件的人員,有權查看該文件,以及何時進行上次修改。 -a 列出所有文件,包括隱藏文件。有關此命令的更多信息,請檢查此鏈接。

Example:

創建或更新您的文件。

Example:

它可以在UNIX或Linux下用於以下目的。

顯示文件的第一部分(用空格移動並鍵入q以退出)。

輸出文件的前10行。

輸出最後10行文件。用於-f在文件增長時輸出附加數據。

將文件從一個位置移動到另一個位置。

filename1 文件的源路徑, filename2 是目標路徑。

將文件從一個位置復制到另一個位置。

filename1 文件的源路徑, filename2 是目標路徑。

刪除文件。在目錄上使用此命令會給您顯示一個錯誤: rm: directory: is a directory 。 為了刪除目錄,你必須傳遞 -rf 去遞歸刪除目錄中的所有內容。

比較文件,並列出他們的差異。

讓您更改文件的讀取,寫入和執行許可權。

壓縮文件。

解壓縮gzip壓縮的文件。

讓你查看gzip壓縮文件,而不需要gunzip它。

列印文件。

查看列印機隊列。

Example:

從列印隊列移除某些內容。

awk是處理文本文件最有用的命令。它一行一行地在整個文件上運行。默認情況下,它使用空格分隔欄位。awk命令最常用的語法是

讓我們採取以下文件 /etc/passwd 。以下是此文件包含的示例數據:

所以現在讓我們從這個文件只獲取用戶名。 -F 指定在我們要基於哪個分隔欄位。在我們的例子中 : 。 { print $1 } 意味著列印出第一個匹配欄位。

運行上述命令後,您將獲得以下輸出。

有關如何使用 awk 的更多細節,請查看以下鏈悉塵譽接。

查找文件內的文本。您可以使用grep搜索與一個或多個正則表達式匹配的文本行,並僅輸出匹配的行。

Example:

您還可以通過使用 -i 選項強制grep忽略單詞大小寫。 -r 可用於搜索指定目錄下的所有文件,例如:

-w 只搜索單詞。有關 grep 詳細信息,請查看以下鏈接。

告訴你一個文件中有多少行,多少單詞和多少字元。

Example:

7459 是行數, 15915 是單詞數, 398400 是字元數.

用於過濾和轉換文本的流編輯器。

example.txt

用連字元替換所有空格

使用"d"替換所有的數字

排序文本文件的行

example.txt

sort example.txt

隨機化一個排序的example.txt

報告或省略重復的行

example.txt

只顯示example.txt的唯一行(首先你需要排序,否則看不到重疊)

顯示每行的唯一項,並告訴我找到了多少個實例

從每行文件中刪除部分。

example.txt

顯示第2,7和9欄的空格作為分隔符

顯示一行文字

顯示 "Hello World"

用字母之間的換行顯示 "Hello World"

簡單的最佳文本格式化程序

example: example.txt (1 line)

將example.txt的行輸出為20個字元的寬度

翻譯或刪除字元

example.txt

把所有小寫字母變成為大寫

把所有的空格變成換行符

顯示文件的行數

example.txt

帶行號顯示 example.txt

列印匹配模式的行 - 擴展表達式(別名為:'grep -E')

example.txt

在其中顯示「Lorem」或「dolor」的行

列印匹配模式到的行 - FIXED模式匹配(別名為:'grep -F')
example.txt

在example.txt中找到具體的字元串'(Lorem | doloar)'

生成一個新的目錄。

執行這個,從一個目錄轉移到另外一個目錄。

將你移動到主目錄。此命令接受可選的 dirname ,將你移動到該目錄。

告訴你你目前所在的目錄。

ssh (SSH client) 是一個用來在登錄到遠程機器並執行的命令的程序。

此命令還接受 -p 可用於連接到特定埠的選項。

返回當前登錄用戶名。

允許當前登錄的用戶更改其密碼。

顯示您的磁碟配額。

顯示當前日期和時間。

顯示月份的日歷。

顯示當前的正常運行時間。

顯示誰在線

Displays information about user.

顯示內核信息。

顯示指定命令的手冊。

顯示磁碟使用情況。

顯示文件名中文件和目錄的磁碟使用情況( -s只給出一個總數)。

列出您最後登錄的指定用戶。

列出您的進程。

使用您所提供的ID殺死(結束)進程。

用名稱殺死所有進程。

顯示當前活動的進程。

列出停止的或後台工作的Job; 恢復在後台停止的Job。

前台化最近的Job。
Brings the most recent job in the foreground.

Pings主機並輸出結果。

獲取域的whois信息。

獲取域的DNS信息。

下載文件。

在本地主機和遠程主機之間或兩台遠程主機之間傳輸文件。

從本地主機復制到遠程主機

從遠程主機復制到本地主機

此命令還接受 -P 選項可用於連接到特定的埠。

在bash中你將編寫第一行腳本文件,被叫做 shebang 。任何腳本中的這一行來確定腳本的執行能力,如獨立的可執行文件,而不是在終端中預先鍵入sh,bash,pythonphp等。

Example:

上面的一行創建一個變數str並給它賦值「hello world」。通過 $ 放在變數名的開頭來檢索變數的值。

Example:

像其他語言一樣,bash也有數組。數組是包含多個值的變數。數組的大小沒有最大限制。bash中的數組為零。第一個元素被索引為元素0.在bash中創建數組有幾種方法。以下給出了哪些。

Examples:

要在特定索引處顯示值,請使用以下語法:

如果沒有提供索引,則假定為數組元素0。要了解數組中有多少值,請使用以下語法:

Bash也支持三元條件。下面是一些例子。

檢查一些關於如何操作字元串的語法

Example:

當您運行上述示例時,該hello函數將輸出「world!」。上述兩個功能 hello 和 say 是相同的。主要區別是功能 say 。此功能列印其接收到的第一個參數。函數內的參數以與給腳本的參數相同的方式進行處理。

bash中的條件語句與其他編程語言相似。條件有許多形式,如最基本的形式是 if 表達式 then 語句,其中語句只有在表達式為真時執行。

有時,如果條件變得混亂,所以你可以使用相同的條件 case statements 。

Expression Examples:

bash 中有三種不同類型的循環。 for , while 和 until .

for 語法:

while 語法:

until 語法:

bash_profile 可以通過運行後面的命令打開。 nano ~/.bash_profile

nano ~/.bashrc

source ~/.bashrc
cd hotellogs

您可以通過傳遞不同的選項來輕松地調試bash腳本bash。例如-n,不會運行命令並僅檢查語法錯誤。-vecho命令在運行它們之前。-x命令行處理後的echo命令。

閱讀全文

與bashif命令相關的資料

熱點內容
被禁的40部小說有哪些 瀏覽:245
通吃小子好小子小傑 瀏覽:42
肉多的霸總文 瀏覽:943
可以投屏的電影網站 瀏覽:400
黃有聲故事 瀏覽:484
重生末世之塵華 瀏覽:746
優化演算法的輸入維數越不容易收斂 瀏覽:777
java極限編程pdf 瀏覽:130
塞葡萄的是哪個小說 瀏覽:821
架設傳奇命令 瀏覽:953
關於醫生的小說 瀏覽:520
愛情動作電影 瀏覽:808
八零電子書txt免費下載網站 瀏覽:509
登陸遼事通顯示伺服器連接錯誤怎麼辦 瀏覽:547
9米高隧道演算法 瀏覽:508
池袋最強作品集txt 瀏覽:784
app專題推薦在哪裡 瀏覽:279
神雲伺服器顯示燈 瀏覽:134
程序員磨合期技巧 瀏覽:849
鬼團六全部電影名稱 瀏覽:864