成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳細介紹Linux shell腳本基礎學習(七)

系統 Linux
Linux shell腳本基礎的學習理論知識已經講完了,后面是兩個具體的實例,這里先說第一個關于二進制何時禁止之間的轉換。

Linux shell腳本基礎學習這部分如果只看前面間的理論部分雖然有一些例子,但是還不夠系統,這里將以具體實例給大家展現Linux shell腳本編程,以幫助大家完善Linux shell基礎的學習和提高。

第2部分 實例

現在我們來討論編寫一個腳本的一般步驟。任何優秀的腳本都應該具有幫助和輸入參數。并且寫一個偽腳本(framework.sh),該腳本包含了大多數腳本都需要的框架結構,是一個非常不錯的主意。這時候,在寫一個新的腳本時我們只需要執行一下copy命令:

cp framework.sh myscript

然后再插入自己的函數。

讓我們再看個例子:

二進制到十進制的轉換

腳本 b2d 將二進制數 (比如 1101) 轉換為相應的十進制數。這也是一個用expr命令進行數學運算的例子:

#!/bin/sh

# vim: set sw=4 ts=4 et:

help()

{

cat <

b2h -- convert binary to decimal

USAGE: b2h [-h] binarynum

OPTIONS: -h help text

EXAMPLE: b2h 111010

will return 58

HELP

exit 0

}

error()

{

# print an error and exit

echo "$1"

exit 1

}

lastchar()

{

# return the last character of a string in $rval

if [ -z "$1" ]; then

# empty string

rval=""

return

fi

# wc puts some space behind the output this is why we need sed:

numofchar=`echo -n "$1" | wc -c | sed 's/ //g' `

# now cut out the last char

rval=`echo -n "$1" | cut -b $numofchar`

}

chop()

{

# remove the last character in string and return it in $rval

if [ -z "$1" ]; then

# empty string

rval=""

return

fi

# wc puts some space behind the output this is why we need sed:

numofchar=`echo -n "$1" | wc -c | sed 's/ //g' `

if [ "$numofchar" = "1" ]; then

# only one char in string

rval=""

return

fi

numofcharminus1=`expr $numofchar "-" 1`

# now cut all but the last char:

rval=`echo -n "$1" | cut -b 0-${numofcharminus1}`

}

while [ -n "$1" ]; do

case $1 in

-h) help;shift 1;; # function help is called

--) shift;break;; # end of options

-*) error "error: no such option $1. -h for help";;

*) break;;

esac

done

# The main program

sum=0

weight=1

# one arg must be given:

[ -z "$1" ] && help

binnum="$1"

binnumorig="$1"

while [ -n "$binnum" ]; do

lastchar "$binnum"

if [ "$rval" = "1" ]; then

sum=`expr "$weight" "+" "$sum"`

fi

# remove the last position in $binnum

chop "$binnum"

binnum="$rval"

weight=`expr "$weight" "*" 2`

done

echo "binary $binnumorig is decimal $sum"

該腳本使用的算法是利用十進制和二進制數權值 (1,2,4,8,16,..),比如二進制"10"可以這樣轉換成十進制:

0 * 1 + 1 * 2 = 2

為了得到單個的二進制數我們是用了lastchar 函數。該函數使用wc –c計算字符個數,然后使用cut命令取出末尾一個字符。Chop函數的功能則是移除最后一個字符。

這個Linux shell腳本實例幫我們完成了轉換,下一次我們將舉例一個文件循環程序。

【編輯推薦】

  1. 詳細介紹Linux shell腳本基礎學習(一)
  2. 詳細介紹Linux shell腳本基礎學習(六)
  3. Linux系統安全提高之安全配置
  4. 詳細介紹Linux優盤引導安裝(一)自引導方式
  5. 舉例說明Linux不同網段訪問的設置辦法
責任編輯:小霞 來源: 互聯網
相關推薦

2010-03-05 11:58:52

2010-03-05 12:50:38

Linux shell

2010-03-05 13:00:46

2010-03-05 11:18:52

Linux shell

2010-03-05 13:19:23

2010-03-05 10:24:33

2010-03-05 10:50:17

2011-09-27 13:52:41

2010-06-23 16:05:36

Linux Bash

2010-06-23 15:55:36

Linux Bash

2011-06-21 14:42:37

ECMAScriptJavaScript

2016-12-14 19:24:41

2019-08-12 07:45:44

Linux腳本shell

2011-06-22 12:57:54

JVM

2010-02-23 10:32:20

Python 腳本

2024-11-27 09:19:25

2010-01-05 16:56:28

2010-06-23 15:36:23

Linux Bug B

2009-12-11 15:59:00

Linux grep指

2009-12-25 14:24:59

Linux指令od
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久一区 | 毛片在线免费 | 久久日韩粉嫩一区二区三区 | 日韩黄色小视频 | 亚洲精品一区中文字幕乱码 | 农村黄性色生活片 | 亚洲天堂av在线 | 久久久精品视频免费看 | aaa在线| 视频一区二区在线 | 亚洲成人免费视频 | 日韩影院在线观看 | 午夜在线影院 | 一级一片在线观看 | 日韩在线免费视频 | 成人精品视频在线观看 | 国产大学生情侣呻吟视频 | 精品国产乱码久久久久久蜜退臀 | 国产成人一区二区三区 | 亚洲欧美日韩系列 | 国产精品久久久久久久久久免费看 | 成人毛片网站 | 国产精品国产三级国产aⅴ中文 | 欧美日韩在线一区二区三区 | 色视频网站在线观看 | 91精品久久久久久久久中文字幕 | 日本精品裸体写真集在线观看 | 翔田千里一区二区 | 日韩中文字幕在线视频 | 久久久久成人精品免费播放动漫 | 特级做a爰片毛片免费看108 | 精品美女 | 成人在线免费观看 | 这里有精品 | 在线观看视频福利 | 欧美三级电影在线播放 | 成人在线播放 | 成人教育av | 欧美日韩综合 | 久久久久久久久蜜桃 | 欧美成年人视频在线观看 |