#!/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] 鳥哥 - 如何改變檔案屬性與權限
沒有留言:
張貼留言