學習筆記 shell指令碼編輯命令列(命令替換)

2021-08-20 06:38:48 字數 1589 閱讀 2695

test=`date`
#!/bin/bash

test=`date`

echo

"the date and time are: "

$test

test=$(

date)

#!/bin/bash

test=$(date)

echo

"the date and time are: "

$test

在指令碼中通過命令替換獲得當前日期並用它來生成唯一檔名

#!/bin/bash

today=$(date +%y%m%d)

#+%y%m%d 格式告訴 date 命令將日期顯示為兩位數的年月日的組合

ls /usr/bin -al > log.$today

bash shell指令碼允許你將多個命令串起來放進指令碼中。建立指令碼的最基本的方式是將命令列中

的多個命令通過分號分開來。shell會按順序逐個執行命令,在顯示器上顯示每個命令的輸出。

你也可以建立乙個shell指令碼檔案,將多個命令放進同乙個檔案,讓shell依次執行。shell指令碼

檔案必須定義用於執行指令碼的shell。這個可以通過 #! 符號在指令碼檔案的第一行指定,後面跟上

shell的完整路徑。

在shell指令碼內,你可以通過在變數前使用美元符來引用環境變數。也可以定義自己的變數以

便在指令碼內使用,並對其賦值,甚至還可以通過反引號或 $() 捕獲的某個命令的輸出。在指令碼中

可以通過在變數名前放置乙個美元符來使用變數的值。

bash shell允許你更改命令的標準輸入和輸出,將其重定向到其他地方。你可以通過大於號將

命令輸出從顯示器螢幕重定向到乙個檔案中。也可以通過雙大於號將輸出資料追加到已有檔案。

小於號用來將輸入重定向到命令。你可以將檔案內容重定向到某個命令。

linux管道命令(斷條符號)允許你將命令的輸出直接重定向到另乙個命令的輸入。linux系

統能夠同時執行這兩條命令,將第乙個命令的輸出傳送給第二個命令的輸入,不需要借助任何重

定向檔案。

bash shell提供了多種方式在shell指令碼中執行數學操作。 expr 命令是一種進行整數運算的簡便

方法。在bash shell中,你也可以通過將美元符號放在由方括號包圍的表示式之前來執行基本的數

**算。為了執行浮點運算,你需要利用 bc 計算器命令,將內聯資料重定向到輸入,然後將輸出

儲存到使用者變數中。

最後,本章討論了如何在shell指令碼中使用退出狀態碼。shell中執行的每個命令都會產生乙個

退出狀態碼。退出狀態碼是乙個0~255的整數值,表明命令是否成功執行;如果沒有成功,可能

的原因是什麼。退出狀態碼 0 表明命令成功執行了。你可以在shell指令碼中用 exit 命令來宣告乙個

指令碼完成時的退出狀態碼。

到目前為止,指令碼中的命令都是按照有序的方式乙個接著乙個處理的。在下章中,你將學習

如何用一些邏輯流程控制來更改命令的執行次序。

shell指令碼學習筆記

學習筆記 1,檔案名字命名為 sh,字尾sh表明這是乙個bash指令碼檔案 2,shell指令碼的第一行如下 bin sh bin sh告訴系統其後路徑所指定的程式即是解釋此指令碼檔案的shell程式 3,寫完指令碼後儲存檔案,然後將檔案變成可執行檔案 chmod x test.sh 4,以下是乙個...

Shell指令碼學習筆記

find 命令 1.基於檔名或者正規表示式搜尋 例子 匹配多個條件 find name txt o name pdf print 找到當前目錄中所有txt pdf檔案輸出 加 o 表示or條件 將中間部分視為乙個整體 find regex py sh regex 基於正規表示式匹配 2.基於目錄深度...

Shell指令碼 學習筆記

編寫輸出hello world的程式是入門的第一步 1.vim helloworld.sh 2.輸入 i 進入插入模式 開始寫指令碼 bin sh echo hello world 3.執行shell指令碼 chmod 0777 helloworld.sh 賦予執行許可權 helloworld.sh...