#!/bin/bash #file name: ray.sh #2009-10-09, RayZ, demo cases/notes using bash #第一行可以讓這個file變成執行檔,方法是 #chomd 770 ray.sh #./ray.sh # or 是一般文字檔就必須sh ray.sh #--------------以下是手動在 bash 下執行 #0 若發生奇怪的錯誤可能是bash 被換成 dash #$ sudo dpkg-reconfigure dash (answer no) # or sudo rm /bin/sh sudo ln -s /bin/bash /bin/sh # see more information: wiki.ubuntu.com/DashAsBinSh #1 變數 #$ ws=~/Desktop/test_shell_script #$ cd $ws #2 化名/取消化名 #$ alias lm='ls -al |more' #$ lm #$ unalias lm #$ alias cls='clear' #$ alias dir='ls -l' #$ alias gogogo='sudo apt-get install' #$ alias raywork='~/Desktop/test_shell_script' #3 直接看 #$ cat ray.sh #4 指令搜尋的順序 #$ type -a ls #5 壓縮/解壓縮, 打包 #$ bzip2 -k-z ray.sh #保留原檔並壓成ray.sh.bz2 #$ bzip2 -k-d ray.sh.bz2 #保留原檔並解壓成ray.sh #$ unzip NERD_tree.zip #解壓 #$ unzip -l NERD_tree.zip #看壓縮檔案內容 #$ unzip -c NERD_tree.zip #看壓縮說明檔 #$ tar -jcv -f filename.tar.bz2 dirname #壓縮打包 #$ tar -jtv -f filename.tar.bz2 #查詢內容物 #$ tar -jxv -f filename.tar.bz2 -C dirname #解壓到dirname #6 斷字元的改變 #$ dos2unix -k ray_dos.sh # ^M$ 改成$ #$ unix2dos -k ray_unix.sh # $ 改成 ^M$ #$ dos2unix -kn ray_dos.sh ray_unix.sh #保留原檔,新檔為ray_unix.sh #7 歷史記錄 #$ history #$ !22 #選第22個 #8 用source 來執行檔案/腳本,就可以執行於父程序中 #$ source ray.env.sh #9 找檔案,建議是先換成root來找. #$ find / -name "ray.sh" | less #$ fine / -type d -name ".vim" | less # 找目錄 #$ su #10 改變user登入 # su #11 改變檔案權限 # chmod 770 ray.sh #--------------以下是bash file #需要在 bash 下執行 #ex: vadmin@vadmin:~$ sh ray.sh PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin #把自定變數轉成環境變數 export PATH s1='demo case No. (1~10)' echo -e "\n\n1) 在bash中輸入名字並印出全名 \ \n2) 6/49大樂透 \ \nq/Q) Exit \ \n" read -p "Select $s1: " democase function exitfun(){ if [ "$democase" == "q" ] || [ "$democase" == "Q" ]; then echo -e "\nExit OK" exit 0 else echo " Error!! choose $s1 " fi } case $democase in "1") #在bash中輸入名字並印出全名 read -p "Please input your first name: " firstname read -p "Please input your last name: " lastname echo -e "\nYour full name is: $firstname $lastname " ;; "2") #RANDOM: 0~32767 #6/49大樂透 i=0 while [ "$i" != "7" ] do i=$(($i+1)) declare -i nu=$RANDOM*49/32768+1 echo -n "$nu " done ;; *) exitfun; ;; esac sh ray.sh
[參考]
[1] 鳥哥 - 學習Shell Scripts
[2] 鳥哥 - 如何改變檔案屬性與權限
沒有留言:
張貼留言