1. 程式人生 > >Shell 學習(六、case...esac的使用和萬用字元)

Shell 學習(六、case...esac的使用和萬用字元)

#!/bin/bash

echo "請輸入編號 選擇不同的顯示檔案和目錄方式:"
echo "1 - 普通顯示"
echo "2 - 詳細顯示"
echo "3 - 顯示隱藏檔案"
echo "4 - 退出"
read num1

case $num1 in
        1) ls ;;
        2) ls -l ;;
        3) ls -la ;;
        4) exit ;;
esac

------------------------------------------------

#!/bin/bash

echo "請輸入要解壓的檔名"
read file1

case "${file1##*.}" in
        gz)
                tar -xzvf ${file1}
                ;;
        zip)
                unzip ${file1}
                ;;
        *)
                echo "很抱歉,無法解壓這種格式"
                exit
                ;;
esac

${file1##*.}    字串的擷取,意思就是擷取檔名"."之後的字串
例如: test.gz 擷取後 為 gz    ,  test.zip擷取後為 zip

* 萬用字元, 表示 0或者0以上的全部匹配

mkdir test
zip test.zip test
tar -czf test.tar.gz test