中国真实偷乱视频,东京道一本热中文字幕,久久精品国产99国产精品亚洲,欧美激情一区二区三区在线

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è)字符)并顯示出來。

$ cuts 11 14

This is a test of cuts program(回車)

test(顯示結(jié)果)

      #!/bin/bash    它的作用就是告訴shell,里面的腳本使用那種解析器來執(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、編寫一個(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、編寫一個(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ì)算的值代替問號(hào))”,否則求出y除以x的余數(shù)并輸出“y mod x = ?

#!/bin/bash

QQ圖片20130716221706.jpg


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

5、編寫一個(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ù)字加起來求和,并輸出。

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

QQ圖片20130716221723.jpg


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

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


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

      QQ圖片20130716221732.jpg

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

8、編寫一個(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、編寫一個(gè)shell腳本,根據(jù)鍵盤輸入的值,給出對(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、編寫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)
//
如果你可以通過輸入一條命令進(jìn)行試驗(yàn)
然后通過
//pwd;echo $? $?
結(jié)果為0
//asdfasdf;echo $?
結(jié)果127



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



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



圖片附件: QQ圖片20130716221732.jpg (2013-7-16 22:20, 7.59 KB) / 下載次數(shù) 6799
http://ahbydz.com/bbs/attachment.php?aid=3222&k=811a0ce53f399406fedde20af2389856&t=1745316868&sid=pv2Tu8



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



圖片附件: QQ圖片20130716221805.jpg (2013-7-16 22:20, 19.41 KB) / 下載次數(shù) 6743
http://ahbydz.com/bbs/attachment.php?aid=3224&k=fd60c3ec1f0d65dc47cfe73181bb4b25&t=1745316868&sid=pv2Tu8



圖片附件: QQ圖片20130716221813.jpg (2013-7-16 22:20, 11.28 KB) / 下載次數(shù) 6718
http://ahbydz.com/bbs/attachment.php?aid=3225&k=4389efd98ffae578144747be02745734&t=1745316868&sid=pv2Tu8






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