亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

Linux命令行和shell腳本編程寶典 Richard Blum

2020-07-27 19:27:05
字體:
來源:轉載
供稿:網友

第一個腳本文件

復制代碼 代碼如下:

#!/bin/bash
echo "This is my first bash code!"
exit 0

重定向符號和數學計算
復制代碼 代碼如下:

#!/bin/bash
echo -n "The time and date are: "
date
value1=100  #等號前后不允許出現空格
value2=$value1
echo -n "value1="
echo $value1
echo -n "value2="
echo $value2
ls -l | sort > out.txt   #管道符號(|)和重定向輸出符號>
ls -l >> out.txt   #重定向追加輸出符號>>
echo -n  "wc<out.txt:"
wc < out.txt  #重定向輸入符號<
echo "sort<<EOF ... EOF"
sort << EOF  #內置輸入重定向<<
`date`
EOF
#數學計算
echo -n "expr進行計算:1+5="
expr 1+5
echo -n "使用方括號進行計算:1+5="
echo $[1+5]
echo "使用bc計算器進行浮點運算"
var1=100
var2=200
var3=`echo "scale=4;$var1/$var2" | bc`
echo "$var1 / $var2 = $var3"
var4=71
var5=`bc<<EOF
scale=4
a1=($var1*$var2)
b1=($var3*$var4)
a1+b1
EOF`
echo "var5=$var5"
exit 0

使用test命令
復制代碼 代碼如下:

#!/bin/bash
#使用test命令
var1=10
var2=100
if [ $var1 -gt $var2 ]
then
    echo "var1 grate var2"
else
    echo "var2 grate var1"
fi
#只能比較整數
test_user=hanxi
if [ $USER = $test_user ]
then
    echo "Welcome $test_user"
fi
str1=Hanxi
str2=hanxi
if [ $str1 /> $str2 ]
then
    echo "$str1 > $str2"
else
    echo "$str1 < $str2"
fi
if [ -n $str1 ]
then
    echo "The string '$str1' is not empty"
else
    echo "the string '$str1' is empty"
fi
#檢查文件目錄
if [ -d $HOME ]
then
    echo "your Home dir exists"
    cd $HOME
    ls -a
else
    echo "there's a problem with your HOME dir"
fi
pwfile=/etc/shadow
if [ -f $pwfile ]
then
    if [ -r $pwfile ]
    then
        tail $pwfile
    else
        echo "Sorry, I'm unable to reas the $pwfile file "
    fi
else
    echo "Sorry, the file $pwfile doesn't exist"
fi
if [[ $USER == h* ]]
then
    echo "Hello $USER"
else
    echo "Sorry, I don't know you"
fi

循環語句
復制代碼 代碼如下:

#!/bin/bash
for file in /home/hanxi/*
do
    if [ -d "$file" ]
    then
        echo "$file is a directory"
    elif [ -f "$file" ]
    then
        echo "$file is a file"
    fi
done
var1=10
while [ $var1 -gt 0 ]
do
    echo $var1
    var1=$[ $var1 - 1 ]
done
var1=100
until [ $var1 -eq 0 ]
do
    echo $var1
    var1=$[ $var1 - 25 ]
done
#文件數據的循環
IFSOLD=$IFS
IFS=$'/n'
for entry in `cat /etc/passwd`
do
    echo "Values in $entry -"
    IFS=:
    for value in $entry
    do
        echo " $value"
    done
done | more
for file in /home/hanxi/*
do
    if [ -d "$file" ]
    then
        echo "$file is directory"
    elif
        echo "$file is a file"
    fi
done > output.txt

讀取參數
復制代碼 代碼如下:

#!/bin/bash
name=`basename $0`
echo the commane entered is : $name
c_args=$#
echo count args:$c_args
#取最后一個參數
echo the last parameter is ${!#}
echo all parameter: $*
echo all parameter: $@
count=1
for param in "$@"
do
    echo "/$@ parameter #$count = $param"
    count=$[ $count + 1 ]
done
#getopts
while getopts :ab:c opt
do
    case "$opt" in
    a) echo "Found the -a option";;
    b) echo "Found the -b option, with value $OPTARG";;
    c) echo "Found the -c option";;
    *) echo "Unknown option : $opt";;
    esac
done
shift $[ $OPTIND - 1 ]
count=1
for param in "$@"
do
    echo "Parameter $count: $param"
    count=$[ $count + 1 ]
done
read -p "Please enter your age:" age
echo age:$age
if read -t 5 -p "Please enter your name: " name
then
    echo "Hellp $name,welcome to my script"
else
    echo
    echo "sorry ,too slow!"
fi
read -n1 -p "Do you want to continue [Y/N]?" answer
case $answer in
Y | y) echo
       echo " fine, continue on...";;
N | n) echo
       echo OK,Good bye
       exit;;
esac
echo "This is the end of the script"
read -s -p "Enter your password: " pass
echo
echo "Is your password really $pass?"
#讀取文件
count=1
cat for.txt | while read line
do
    echo "Line $count: $line"
    count=$[ $count+1 ]
done
echo "Finished processing the file"

重定向文件描述符
復制代碼 代碼如下:

#!/bin/bash
#永久重定向
exec 9>&2
exec 2>testerror
echo "this will in testerror">&2
exec 2<&9
exec 9<&0
exec 0<testin
count=1
while read line
do
    echo "Line #$count:$line"
    count=$[ $count + 1 ]
done
exec 0<&9
#重定向文件描述符
exec 3>&1
exec 1>testout
echo "this should store in the output file"
echo "along with this line."
exec 1>&3
echo "Now things should be back to nomarl"
exec 4<&0
exec 0<testin
count=1
while read line
do
    echo "Line #$count:$line"
    count=$[ $count + 1 ]
done
exec 0<&4
read -p "Are you done now?" answer
case $answer in
Y|y) echo "Goodbye";;
N|n) echo "continue...";
esac
#創建讀寫文件描述符
exec 8<> testfile
read line <&8
echo "Read:$line"
echo "This is a test line" >&8
#關閉文件描述符
exec 8>&-
#列出文件描述服
#`/usr/sbin/lsof -a -p $$`|more
#禁止命令輸出
#2 > /dev/null
#創建本地臨時文件
tempfile=`mktemp test.XXXXXX`
exec 4>$tempfile
echo "This is the first line">&3
exec 4>&-
#在/temp中創建臨時文件
tmpfile=`mktemp -t tmp.XXXXXX`
echo "The temp file is located at:$tempfile"
cat $tempfile
rm -f $tempfile
#創建臨時文件夾
tmpdir=`mktemp -d dir.XXXXXX`
cd $tmpdir
tempfile1=`mktemp temp.XXXXXX`
ls -l
cd ..
#記錄消息
a=`date | tee testfile;/
cat testfile;/
date | tee -a testfile;/
cat testfile`

信號處理
復制代碼 代碼如下:

#!/bin/bash
#信號處理
trap "echo 'get a sign'" SIGINT SIGTERM
trap "echo byebye" EXIT
echo "This is a test program"
count=1
while [ $count -le 10 ]
do
    echo "Loop #$count"
    sleep 10
    count=$[ $count+1 ]
done
echo "This is the end of the test program"
trap - EXIT#移除捕獲
#后臺牧師運行
#./test6.sh &
#不使用終端的情況下運行腳本
#nohup ./test6.sh &
#查看作業
#jobs
#重新啟動作業
#bg 2(作業序號)//后臺
#fg 2//前臺
#優先級
#nice -n 10 ./test6.sh
#renice 10 -p 25904(進程號)
#預計時間運行at命令
#at -f test6.sh 20:00
#batch命令,系統平均負載低于0.8時運行,可以設定時間,比at命令更好
#corn表格可以設定循環運行,格式:
#min hour dayofmonth month dayofweek command
#每個月第一天運行:
#12 16 * * 1 command
#每個月最后一天運行:
#12 16 * * * if [ `date +%d =d tommorrow` = 01 ] ; then ; command

函數的使用
復制代碼 代碼如下:

#!/bin/bash
#函數
#使用返回值
function func1
{
    read -p "Enter a value: " value
    echo $[ $value * 2 ]
}
result=`func1`
echo "the new value is $result"
#傳遞參數
function func2
{
    echo $[ $1+$2 ]
}
result=`func2 2 2`
echo "the new result is $result"
#局部變量, 遞歸
function func3
{
    if [ $1 -eq 1 ]
    then
        echo 1
    else
        local temp=$[ $1-1 ]
        local result=`func3 $temp`
        echo $[ $result*$1 ]
    fi
}
read -p "Enter value:" value
result=`func3 $value`
echo "the factorial of $value is: $result"
#調用當前目錄下到函數庫
#. ./myfuncs

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91欧美精品午夜性色福利在线| 亚洲国产黄色片| 色999日韩欧美国产| 国产精品久久久久久亚洲调教| 欧美性受xxxx黑人猛交| 欧亚精品在线观看| 国产精品自拍偷拍视频| 91精品国产综合久久香蕉922| 成人信息集中地欧美| 亚洲成人精品久久久| 亚洲最大福利视频网站| 91精品视频网站| 亚洲欧美另类人妖| 日韩成人在线视频网站| 中文字幕在线精品| 欧美成人免费va影院高清| 久久免费福利视频| 亚洲肉体裸体xxxx137| 亚洲乱码av中文一区二区| 欧美一区二区三区免费视| 日韩美女免费观看| 色妞在线综合亚洲欧美| 在线电影av不卡网址| 成人黄色生活片| 亚洲精品久久久久国产| 成人黄色午夜影院| 欧美高跟鞋交xxxxhd| 91中文字幕在线| 成人免费视频网| 欧美日韩国产综合新一区| 中文字幕日韩欧美在线| 日韩激情视频在线| 国产精品久久久久久久午夜| 热99久久精品| 亚洲国产精品热久久| 成人午夜在线影院| 日韩av在线一区二区| 日韩av色在线| 欧美午夜激情小视频| 日本精品视频在线| 激情久久av一区av二区av三区| 国产精品久久久久久久一区探花| 国产一区二区三区直播精品电影| 国产精品久久婷婷六月丁香| 欧美午夜片欧美片在线观看| 国产福利精品视频| 91天堂在线视频| 久色乳综合思思在线视频| 国产精品老女人精品视频| 精品福利樱桃av导航| 日韩在线激情视频| 国产精品a久久久久久| 亚洲韩国青草视频| 欧美性极品xxxx做受| 69av成年福利视频| 亚洲视频日韩精品| 91福利视频网| 国内精品久久久久久久久| 欧美亚洲视频一区二区| 久久亚洲综合国产精品99麻豆精品福利| 国产成人在线亚洲欧美| 成人精品视频久久久久| 国产这里只有精品| 欧美国产日韩免费| 91亚洲va在线va天堂va国| 日韩电影中文字幕一区| 国产欧美一区二区三区四区| 欧美野外wwwxxx| 久久久久久亚洲精品不卡| 亚洲日本中文字幕免费在线不卡| 欧美老女人xx| 国产美女精品视频免费观看| 日韩欧美精品中文字幕| 欧美丝袜第一区| 色中色综合影院手机版在线观看| 国产精品老牛影院在线观看| 欧日韩不卡在线视频| 欧美激情a∨在线视频播放| 国产精品嫩草影院一区二区| 欧美日韩国内自拍| 中文字幕日韩视频| 在线观看91久久久久久| 日本伊人精品一区二区三区介绍| 国外成人性视频| 亚洲一区二区三区成人在线视频精品| 欧美日本黄视频| 国产精品自产拍高潮在线观看| 欧美国产极速在线| 国产精品1区2区在线观看| 亚洲国产成人精品电影| 一本色道久久88综合日韩精品| 一本一本久久a久久精品牛牛影视| 国产主播在线一区| 亚洲欧美成人一区二区在线电影| 久久国产精品免费视频| 国产精品视频在线观看| 国产一区二区三区在线免费观看| 国产精品久久精品| 夜夜躁日日躁狠狠久久88av| 欧美裸体男粗大视频在线观看| 国产免费一区二区三区在线能观看| 国产日韩在线亚洲字幕中文| 丝袜美腿亚洲一区二区| 91社影院在线观看| 高清一区二区三区日本久| 欧洲中文字幕国产精品| 97热精品视频官网| 国产日韩精品一区二区| 欧美极品少妇与黑人| 亚洲国产精品久久久久秋霞不卡| 精品国产老师黑色丝袜高跟鞋| 91av在线播放| 综合激情国产一区| 亚洲美女免费精品视频在线观看| 一本色道久久88精品综合| 欧美视频在线免费| 欧美性猛交xxxx黑人| 国产日韩精品一区二区| 96pao国产成视频永久免费| 日本国产欧美一区二区三区| 久久久久久久999精品视频| 久久视频在线视频| 国产91在线高潮白浆在线观看| 色爱av美腿丝袜综合粉嫩av| 国产一区视频在线播放| 亚洲欧美日韩在线高清直播| 国产精品久久在线观看| 久久久久久久久久久网站| 97婷婷大伊香蕉精品视频| 欧美不卡视频一区发布| 精品女同一区二区三区在线播放| 欧美在线视频在线播放完整版免费观看| 国产精品夫妻激情| 日本乱人伦a精品| 亚洲人成在线播放| 久久久精品久久久久| 欧美极度另类性三渗透| 国产主播精品在线| 在线观看免费高清视频97| 自拍偷拍亚洲欧美| 午夜精品福利在线观看| 国产精品白嫩初高中害羞小美女| 久久久久国色av免费观看性色| 日韩精品在线视频观看| 欧美一区三区三区高中清蜜桃| 日韩av电影中文字幕| 国产精品一区二区性色av| 欧美成人精品不卡视频在线观看| 精品久久久国产| 午夜精品蜜臀一区二区三区免费| 午夜精品99久久免费| 午夜精品一区二区三区在线视| 久久精品久久精品亚洲人| 91高清视频免费| 国产精品日本精品| 中文字幕久热精品在线视频| 亚洲三级 欧美三级| 国产精品日本精品| 国产亚洲欧美aaaa| 精品国产一区二区三区久久久狼| 欧美精品中文字幕一区| 欧美激情欧美狂野欧美精品| xvideos国产精品| 国产精品成人久久久久|