iT邦幫忙

鐵人檔案

2012 iT 邦幫忙鐵人賽
回列表

我與BASH shell scripting的每一天 系列

他是我工作中每天都會接觸的好夥伴,是協助我解決大小問題的好幫手,且讓我跟大家分享我與BASH的每一天吧。

鐵人鍊成 | 共 31 篇文章 | 27 人訂閱 訂閱系列文 RSS系列文
DAY 21

我與BASH的每一天 - [21] 特殊的參數變數符號: $@ 與 $*

BASH除了利用**$1,.. $9等10的特殊變數來代表參數順序之外,還有其他功能強大的特殊變數符號。例如$0代表程式本身、$#代表所有參數的個數、$@與$*...

2012-10-16 ‧ 由 chiounan 分享
DAY 22

我與BASH的每一天 - [22] while-loop與array的結合

我有一支程式重複的執行特定的命令,去撈出我要的欄位內容,接著我要依據這個內容再去進行另一個資料刪除的動作。剛開始因為系統裡的資料不多,所以就快速的僅利用whil...

2012-10-17 ‧ 由 chiounan 分享
DAY 23

我與BASH的每一天 - [23] 顯示程式執行的進度

老大希望我在程式上加上顯示執行的進度,也就是要能顯示提示目前程式還在執行或者是顯示進度,免得因為程式跑太久而讓使用者以為程式沒有回應了。想了半天,最後找到利用檢...

2012-10-18 ‧ 由 chiounan 分享
DAY 24

我與BASH的每一天 - [24] 打包initrd image

示範如何修改initrd image的內容。 發現我們自己做的block driver移植到Xen的環境上會有問題,我懷疑是因為移植的時候沒有把Xen相關的ke...

2012-10-19 ‧ 由 chiounan 分享
DAY 25

我與BASH的每一天 - [25] 紀錄鍵盤動作的命令 - script

script可以將使用者的鍵盤動作記錄下來到指定的檔案上去,如果把這行指令加到**/etc/profile**中,就可以在系統開機後依據登入的user帳號、日期...

2012-10-20 ‧ 由 chiounan 分享
DAY 26

我與BASH的每一天 - [26] 使用者參數選項 - getopts

要設計具備使用者參數選項功能的程式,除了利用參數變數之外,例如**$1**, $1到**$9**,不夠用在借助shift與**$@, $*符號來幫忙,還可以使用...

2012-10-21 ‧ 由 chiounan 分享
DAY 27

我與BASH的每一天 - [27] getopts 的錯誤控制設計

昨天介紹了getopts的用法,今天進一步的來看如何針對getopts來進行錯誤處理。 昨天介紹了getopts的用法,今天進一步的來看如何針對getopts來...

2012-10-22 ‧ 由 chiounan 分享
DAY 28

我與BASH的每一天 - [28] 分割檔案 - split

想要上傳一個大約12MB的檔案,但是Bugzilla系統只允許最大1MB的檔案,所以我必須要將檔案至少切成12等份(每份1MB)別傳送。Split可以幫我這個忙...

2012-10-23 ‧ 由 chiounan 分享
DAY 29

我與BASH的每一天 - [29] 同時將訊息輸出至畫面與重導到檔案 - tee

我想將程式執行時的訊息記錄下來成為log檔,透過重導向**>**我就可以輕易辦到。但是如果要將同樣的訊息同時顯示輸出,同時建立log檔,就有一點棘手了。我...

2012-10-24 ‧ 由 chiounan 分享
DAY 30

我與BASH的每一天 - [30] 自動將檔案上傳到另一機器 - ssh、ssh-keygen 與 scp

示範如何設定ssh認證,達到自動登入、傳檔的目的。 我在測試機器上進行一些壓力測試,同時會將測試結果記錄到log檔中。但是為了避免因為機器故障而拿不到log檔來...

2012-10-25 ‧ 由 chiounan 分享