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

詳細介紹Linux shell腳本基礎(chǔ)學(xué)習(xí)(七)

系統(tǒng) Linux
Linux shell腳本基礎(chǔ)的學(xué)習(xí)理論知識已經(jīng)講完了,后面是兩個具體的實例,這里先說第一個關(guān)于二進制何時禁止之間的轉(zhuǎn)換。

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

第2部分 實例

現(xiàn)在我們來討論編寫一個腳本的一般步驟。任何優(yōu)秀的腳本都應(yīng)該具有幫助和輸入?yún)?shù)。并且寫一個偽腳本(framework.sh),該腳本包含了大多數(shù)腳本都需要的框架結(jié)構(gòu),是一個非常不錯的主意。這時候,在寫一個新的腳本時我們只需要執(zhí)行一下copy命令:

cp framework.sh myscript

然后再插入自己的函數(shù)。

讓我們再看個例子:

二進制到十進制的轉(zhuǎn)換

腳本 b2d 將二進制數(shù) (比如 1101) 轉(zhuǎn)換為相應(yīng)的十進制數(shù)。這也是一個用expr命令進行數(shù)學(xué)運算的例子:

#!/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"

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

0 * 1 + 1 * 2 = 2

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

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

【編輯推薦】

  1. 詳細介紹Linux shell腳本基礎(chǔ)學(xué)習(xí)(一)
  2. 詳細介紹Linux shell腳本基礎(chǔ)學(xué)習(xí)(六)
  3. Linux系統(tǒng)安全提高之安全配置
  4. 詳細介紹Linux優(yōu)盤引導(dǎo)安裝(一)自引導(dǎo)方式
  5. 舉例說明Linux不同網(wǎng)段訪問的設(shè)置辦法
責(zé)任編輯:小霞 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

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

2019-08-12 07:45:44

Linux腳本shell

2016-12-14 19:24:41

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技術(shù)棧公眾號

主站蜘蛛池模板: 国产成人精品免高潮在线观看 | 91直接看| 日韩精品免费视频 | 日韩精品一区二区三区中文在线 | 亚洲成人网在线观看 | 香蕉久久a毛片 | 99久久久99久久国产片鸭王 | 国产一区二区三区在线 | 拍真实国产伦偷精品 | 亚洲日本视频 | 玩丰满女领导对白露脸hd | 国产乱xxav| www.国产.com | 色悠悠久| 91精品国产日韩91久久久久久 | 久久中文字幕一区 | 国产九九av | av手机免费在线观看 | 激情一区二区三区 | 久久婷婷国产麻豆91 | 日日夜夜精品视频 | 青青草一区 | 中文字幕一区二区三区在线观看 | 奇色影视 | 成人欧美一区二区三区白人 | 日韩中文字幕在线视频 | 羞羞的视频在线看 | 久久99久久久久 | 操久久 | 国产 欧美 日韩 一区 | 国产精品欧美一区二区 | 日本在线观看网址 | 亚洲一区欧美一区 | 亚洲综合视频一区 | 国产精品久久久久影院色老大 | 免费一区在线 | 一区二区精品在线 | 日韩免费一区二区 | 69av片| 草久在线 | 欧美精品久久久 |