發表文章

目前顯示的是有「轉檔」標籤的文章

影音數位典藏所需的自動化腳本(Bash Script)--case

影音數位典藏所需的自動化腳本(Bash Script)--case     數位典藏中,有些工作是經常性出現的重複任務,這種狀況很適合使用腳本來減輕工作所需。其中一個例子就是轉碼,將典藏母帶轉換為工作時所需的中間素材,或產生供大眾取用的取用版本。在這樣的狀況下,可以預期會有兩種工作需要執行,因此 case ... in ... esac  會是很適合這種狀況的判斷式。 case ... in ... esac  的完整表示方式為: case   variable  in     value_n)  command_n              ;;     value_x)  command_x              command_x              ;;           *)  command              ;; esac 其中 variable 是主要用來進行判斷的變數,當變數數值與括號 ")" 前的數值相同時,則執行該數值所對應段落的指令。指令不限於一行,但每段的結尾需以雙分號 ";;" 為結尾。若數值不屬於上面任何一個指定的數值時,則執行 "*)" 這段的指令。 最簡單的 case 判斷式腳本可能長這樣: #!/usr/bin/env bash # Name: #         show3.sh   # Description: #       Show what you type # History: #       2020-07-02 by Mengchun unset var     # 將 var 這個參數還原,以免之前執行過的腳本影響這個參數 function print_out() {         echo "Your choice is ${1:-Unknown Value.}"         exit 0 }     # 將重複輸出的行為寫成函式 read -p "Please input your choice: " var     # 使用 read