99精品国产综合久久久久五月天,免费观看欧美大片毛片不用播放器 ,AV无码理论片在线观看免费网站,国产精品国产成人国产三级

Board logo

標(biāo)題: [分享] 分享一些簡(jiǎn)單的shell腳本 [打印本頁(yè)]

作者: marquis    時(shí)間: 2013-7-16 22:23     標(biāo)題: 分享一些簡(jiǎn)單的shell腳本

本帖最后由 marquis 于 2013-7-16 22:28 編輯

1、設(shè)計(jì)一個(gè)程序cuts,它由標(biāo)準(zhǔn)輸入讀取數(shù)據(jù),獲取有第一個(gè)參數(shù)n和第二個(gè)參數(shù)m所限定范圍的數(shù)據(jù),nm都是整數(shù),即從輸入的字符串中抽取第n個(gè)字符至第m個(gè)字符之間的所有字符(包括這兩個(gè)字符)并顯示出來(lái)。

$ cuts 11 14

This is a test of cuts program(回車(chē))

test(顯示結(jié)果)

      #!/bin/bash    它的作用就是告訴shell,里面的腳本使用那種解析器來(lái)執(zhí)行的腳本
      read ch;
      echo $
ch| cut -c $1-$2; #$1和$2分別是命令的第一個(gè)和第二個(gè)數(shù)
      exit;

cut是以每一行為一個(gè)處理對(duì)象的, 字符(characters),用選項(xiàng)-c,中文字符和空格都算一個(gè)字符

2、利用for循環(huán)將當(dāng)前目錄下的.c文件移到指定的目錄下,并按文件大小排序,顯示移動(dòng)后指定目錄的內(nèi)容。

#!/bin/bash

for file in `ls|grep “.*.c”`     要用到ESC 下面的符號(hào)

{

mv -i $file./a   -i是文件移動(dòng)同文件名會(huì)有提示

}

ls –lS ./a     -S是按大小排序

3、編寫(xiě)一個(gè)shell腳本,求斐波那契奇數(shù)列的前10項(xiàng)及總和。

#!/bin/bash

i=1

j=0

sum=0

for(( k=0; k<10; k++ ))

do

echo –n “$i,”    -n不能再最后換行 echo輸出流

let sum+=I       let linux的整數(shù)運(yùn)算命令

let m=i

let i+=j

let j=m

done

echo “sum=$sum”

4、編寫(xiě)一個(gè)shell腳本,程序運(yùn)行時(shí),要求輸入兩個(gè)數(shù)字。然后判斷數(shù)字的大小,如果兩個(gè)數(shù)字的和大于100,就輸出“x+y>100;如果兩個(gè)數(shù)字的和小于等于100并且大于10,就輸出“x+y>10;如果x>y,則求出x除以y的余數(shù)并輸出“x mod y = ?(把計(jì)算的值代替問(wèn)號(hào))”,否則求出y除以x的余數(shù)并輸出“y mod x = ?

#!/bin/bash

QQ圖片20130716221706.jpg


-gt:大于   -le:小于等于    如果上一條命令執(zhí)行后的結(jié)束代碼不是0則執(zhí)行下面的命令(then

5、編寫(xiě)一個(gè)shell腳本,并利用函數(shù)實(shí)現(xiàn)數(shù)列求和運(yùn)算。即主程序接受兩個(gè)數(shù)字,分別作為數(shù)列頭和數(shù)列尾,如果第一個(gè)數(shù)字不小于第二個(gè)數(shù)字則輸出“wrong number”,否則將這兩個(gè)數(shù)字傳遞給函數(shù);函數(shù)把這兩個(gè)數(shù)字中間的數(shù)字加起來(lái)求和,并輸出。

如:當(dāng)輸入  3   6時(shí),函數(shù)計(jì)算 3+4+5+6的值并輸出。

QQ圖片20130716221723.jpg


Function shulie()是一個(gè)函數(shù),shulie $a $b 是傳遞參數(shù)給函數(shù)

6、編寫(xiě)特洛伊木馬shell腳本。以文本方式登陸界面,接收用戶輸入的名字和密碼。一旦用戶在這種偽裝界面登陸,就獲取用戶名和密碼,并保存在指定的文件中。接著睡眠幾秒,然后顯示錄入錯(cuò)誤的信息,使用戶以為輸入有誤。最后在調(diào)用真正的登陸程序,允許用戶正常登陸。


7、編寫(xiě)shell腳本,創(chuàng)建一個(gè)5個(gè)元素的數(shù)組,輸出各個(gè)元素的值

      QQ圖片20130716221732.jpg

A是數(shù)組名,初始化A數(shù)組的值,以空格隔開(kāi)

8、編寫(xiě)一個(gè)腳本,用于統(tǒng)計(jì)所指定文件的行數(shù)總數(shù)。輸出結(jié)果為各個(gè)文件的名字+行數(shù),以及總行數(shù)。

如:當(dāng)輸入./腳本名 file1 file2,腳本計(jì)算file1file2兩個(gè)文件的總行數(shù)

QQ圖片20130716221755.jpg


-l 是統(tǒng)計(jì)行數(shù)的參數(shù)

9、編寫(xiě)一個(gè)shell腳本,根據(jù)鍵盤(pán)輸入的值,給出對(duì)應(yīng)的提示;輸入[A – Z ],輸出Uppercase Letter;輸入[a-z],輸出Lowercase Letter;輸入[0-9],輸出Digit;輸入其他,輸出Punctuation,whitespace, or other

      QQ圖片20130716221805.jpg

1. 在腳本最前面加入如下句: export LC_ALL=C
   
作用就是 specifies the ANSI C locale
2.
將判斷條件作如下改動(dòng)(改為符合POSIX標(biāo)準(zhǔn)的集合):
[A-Z]
改為 [[:upper:]]
[a-z]
改為 [[:lower:]]

Case要在每個(gè)條件末尾加;; esac

10、編寫(xiě)shell腳本,提示用戶輸入用戶名,并判斷此用戶名是否存在與系統(tǒng)用戶中

      QQ圖片20130716221813.jpg

grep "$name"/etc/passwd > /dev/null 2>&1  

//探索與變量name內(nèi)相匹配的字符
不管結(jié)果是是否正確信息扔到/dev/null垃圾箱
2>&1
不顯示任何信息操作信息


if [ $? -eq 0 ] ;then            
//
判斷$? 是否等于 0 $?里的數(shù)值跟你上一個(gè)命令執(zhí)行的成功與否有關(guān)
//
如果你可以通過(guò)輸入一條命令進(jìn)行試驗(yàn)
然后通過(guò)
//pwd;echo $? $?
結(jié)果為0
//asdfasdf;echo $?
結(jié)果127



圖片附件: QQ圖片20130716221706.jpg (2013-7-16 22:20, 19.14 KB) / 下載次數(shù) 6806
http://fudaan.com/bbs/attachment.php?aid=3220&k=4d198a4646926e545bb2a60d4909abf0&t=1745224385&sid=sGwZ4y



圖片附件: QQ圖片20130716221723.jpg (2013-7-16 22:20, 14.26 KB) / 下載次數(shù) 6755
http://fudaan.com/bbs/attachment.php?aid=3221&k=a46eb00863e43d9599018bce3727b697&t=1745224385&sid=sGwZ4y



圖片附件: QQ圖片20130716221732.jpg (2013-7-16 22:20, 7.59 KB) / 下載次數(shù) 6785
http://fudaan.com/bbs/attachment.php?aid=3222&k=4126332856aafeee5829951ebc721c3d&t=1745224385&sid=sGwZ4y



圖片附件: QQ圖片20130716221755.jpg (2013-7-16 22:20, 2.77 KB) / 下載次數(shù) 6751
http://fudaan.com/bbs/attachment.php?aid=3223&k=feb751c0d79b78f5a4d5180b3c195e1b&t=1745224385&sid=sGwZ4y



圖片附件: QQ圖片20130716221805.jpg (2013-7-16 22:20, 19.41 KB) / 下載次數(shù) 6730
http://fudaan.com/bbs/attachment.php?aid=3224&k=48c666e94a4a5dfc03dc9a41c51445e9&t=1745224385&sid=sGwZ4y



圖片附件: QQ圖片20130716221813.jpg (2013-7-16 22:20, 11.28 KB) / 下載次數(shù) 6704
http://fudaan.com/bbs/attachment.php?aid=3225&k=314ab923b5ba3a6fc947ec9faa6d176b&t=1745224385&sid=sGwZ4y






歡迎光臨 WDlinux官方論壇 (http://fudaan.com/bbs/) Powered by Discuz! 7.2