#!/bin/bash
#輸入使用者的姓名,並且顯示出來
#2008/10/21
read -p "請輸入您的姓:" firstname
read -p "請輸入您的名字:" lastname
echo "您的姓名是:$firstname $lastname"
#!/bin/bash
#利用date建立檔案
#2008/10/21
#讓使用者輸入檔名稱,並獲取fileuser變數
echo -p "i will use 'touch' command to create 3 files"
read -p "please input file name what you want:" fileuser
#使用變數功能分析是否設定的檔名?
filename=$
#開始使用date命令來獲取所需要的檔名
date1=`date +%y%m%d`
file1="$filename""$date1"
touch $file1
數值運算的方法;var=$((運算內容))
test用法;test -e filename
-e :該檔名是否存在
-f:該檔名是否為檔案
-d:該檔名是否為目錄
-r:檢查該檔名是否可讀
-w:檢查該檔名是否可寫
-x:檢查該檔名是否可執行
-s:檢查該檔名是否為空白檔案
倆個整數的判斷:
-eq;兩數值相等
-ne:兩數值不相等
-gt:n1大於n2
-lt:n1小於n2
-ge:n1大於等於n2
-le:n1小於等於n2
test -z string 判斷字串是否為0,若為空字串,返回true
test -n string 若為空字串,返回false
test str1=str2
test str1!=str2
-a:(and)兩個條件同時成立
-o:兩個條件任何乙個成立
!:條件求反
例子:#!/bin/bash
#首先讓使用者輸入乙個檔名
#這個檔案是否存在?若不存在,則顯示"不存在",並且中斷程式
#若存在,則判斷是否是目錄?輸出"是檔案" "是目錄?"
#判斷執行者對這個檔案或者目錄的許可權
#2008/10/21
read -p "請輸入檔名:" filename
test -z $filename && echo "請輸入檔名"
test ! -e $filename && echo "檔案不存在" && exit 0
test -f $filename && filetype="是檔案"
test -d $filename && filetype="是目錄"
test -r $filename && perm="可讀"
test -w $filename && perm="$perm 可寫"
test -x $filename && perm="$perm 可執行"
echo "檔案:$filename是:""$filetype"
echo "使用者的許可權是: $perm"
條件判斷符號
例子:[ "$home" == "$male" ]
注意要有空格
shell指令碼的預設的變數
例子:/sbin/shutdown -h now
$0 $1 $2
條件判斷:
#檢查輸入的引數是否為hello
#如果是,就顯示"hello, how are you?"
#如果沒有加入任何引數,就提示必須輸入引數
#若不是hello,提示僅使用hello作為引數
if [ "$1" == "hello" ]; then
echo "hello,how are you?"
elif [ "$1" == "" ]; then
echo "you must input parameter!"
else
echo "you must input hello"
fi#判斷引數是否為hello
case $1 in
"hello")
echo "hello, how are you?"
;;"")
echo "you must input parameters!"
;;*)
echo "you must input hello"
;;esac
#函式體中的$1指的是函式後面跟著的引數
function println()
case $1(命令中的引數) in
"one")
println 1
;;"two")
println 2
;;*)
echo "hehhehehhe"
;;esac
while[ "$yn" != "yes" ] && [ "$yn" != "yes" ]
doread -p "please input yes/no to stop this programe:" yn
done
s=0for(( i=1; i<=100; i=i+1 ))
dos=$(($s+$i))
done
echo "the result '1+2+...+100='$s"
for animal in dog cat elephant
doecho "there are $animal""s"
done
#找出目錄內的檔名的許可權
read -p "please input a dirctory :"dir
if[ "$dir" == "" ] || [ ! -d "$dir" ] ; then
echo "the $dir id not exsit in your system!"
exit 1
fifilelist=`ls $dir`
for filename in $filelist
doperm=""
test -r "$dir/$filename" && perm="可讀"
test -w "$dir/$filename" && perm="$perm 可寫"
test -x "$dir/$filename" && perm="$perm 可執行"
echo "the file $filename's permission is $perm"
done
shell指令碼的除錯
sh -n sh01.sh 檢查語法
sh -x sh01.sh 將使用的指令碼內容顯示在螢幕上,很有用
shell的一些筆記
如何使用基於ssh的scp遠端複製檔案?如何利用python傳?scp home amazing felix.tar.gz root 遠端ip home dsp python傳 pytyon m httpserver 8085 wget 如何檢視本機外網ip?curl ident.me 返回ip和地...
shell的一些符號
string string command 輸入輸出重導向 2 2 2 井號 comments 這幾乎是個滿場都有的符號。bin bash 井號也常出現在一行的開頭,或者位於完整指令之後,這類情況表示符號後面的是註解文字,不會被執行。this line is comments.echo a a a ...
一些shell符號
傳遞到指令碼的引數個數 以乙個單字串顯示所有向指令碼傳遞的引數,與位置變數不同,此選項引數可超過9個 指令碼執行的當前程序id號 後台執行的最後乙個程序的程序id號 與 相同,但是使用時加引號,並在引號中返回每個引數 顯示shell使用的當前選項,與set命令功能相同 顯示最後命令的退出狀態。0表示...