老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

linux命令行程序設計 linux編程命令

請設計一個程序,linux如何通過命令行參數接受一個文件名為filename.txt(純

#!/bin/bash

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:申請域名虛擬主機、營銷軟件、網站建設、織金網站維護、網站推廣。

#參數一為文件名,包含擴展名?比如?ccc.txt,?參數2為要刪除的行數

#?腳本名如果是?a.sh?,執行方式是??./a.sh?ccc.txt?10

if?[?!?-f?$1?];then???#查找文件是否存在,不存在的話?異常退出

echo?$1?done?found!

exit?1

fi

if?[[?$2?-gt?`wc?-l?$1?|?grep?-o?'[[:digit:]]'`?]];then?#如果行數大于文件行數,異常退出

echo?line?$2?not?exist

exit?1

fi

sed?"$2d"?$1?#?如果sed引入shell變量,需要將單引號換成雙引,若轉義

if?[[?$??-eq?0?]];then?#?判定sed是否執行成功并輸出結果。行數為小數的話?SED命令執行失敗,異常退出

echo?line?$2?deleted

else

echo?line?$2?not?deleted

exit?1

fi

exit?0

linux中設計一個shell腳本程序可以接受命令行輸入的參數執行相應的菜單命令

之所以用到命令行參數,關鍵在于shell腳本需要與運行腳本的人員進行交互。

bash shell提供了命令行參數添加在命令后面的數據值)、命令行選項修改命令行為的單字符值)和直接讀取鍵盤輸入。

1、命令行參數

向shell腳本傳遞數據的最基本方式是使用命令行參數。

1)讀取參數

讀取輸入的參數的變量為位置參數,位置參數通過標準數字表示,

其中$0為程序名稱,$1為第一個參數,$2為第二個參數,依次類推,直到$9為第九個參數。

shell腳本自動將命令行參數賦值給各個位置變量。

同時輸入多個參數可以是數值也可以是字符串)時,必須使用空格分隔要想在參數值中包含空格,就必須使用單引號或雙引號)

當參數多于9個后,必須在shell腳本內使用大括號將變量括起來,如${10}。從而可以使用任意個參數。

2)讀取程序名稱

傳遞給變量$0的字符串實際上是程序的路徑根據調用方法決定是相對還是絕對路徑)。

使用basename命令可以去掉路徑前綴,只獲得程序名稱名字中不 可以有空格)。

3)測試腳本

當腳本認為應該包含參數,卻實際上沒有數據時,就會出錯。

好的方法是對參數進行檢查來保證使用參數前確實存在數據,可以使用-n參數來檢查。

例子:if [ –n “$1” ] then .. else .. fi

2、特殊的參數變量

用于跟蹤命令行參數

1)參數計數

使用特殊變量$#測試執行腳本時包含的命令行參數個數。腳本中任何位置都可以 使用$#

例子:if [ $# –ne 2 ] 即可測試參數個數

可以使用${!#}來返回最后一個命令行參數當無參數時,$#為0,而${!#}為程序名)

2)獲取所有數據

變量$*將命令行中提供的所有參數作為一個單詞處理,它將多個參數看成 一個參數。

變量$@將命令行中提供的所有參數作為同一個字符串中的多個單詞處理。 允許對其中的值進行迭代一般使用for),分隔開不同參數

3、移位

shift命令能夠改變命令行參數的相對位置。默 認將每個參數變量左移一個位置變量$0不變,把$1丟棄,注意不可以恢復了!)

在不清楚參數數目情況下,這是一個迭代參數的好辦法。

可以為shift提供一個參數,來實現多位移變化。

4、處理選項

選項是由破折號引導的單個字母,用于更改命令的行為。

1,找出選項

1)處理簡單選項

可以使用處理命令行參數相同的方法處理選項,抽取時使用case語句進行判斷是否符合選項格式。

2)從參數中分離選項

同時使用選項和參數時,可以使用--指示選項列表的結束。發現--后,shell就知道后面的是普通參數了,停止使用case處理選項。

3)處理帶值的選項

選項后緊跟參數值,一種方法是在case中對應選項后使用shift和讀后一位參數的方法處理。更好的方法如 下:

2,使用getopt命令

getopt命令在處理選項和參數時非常方便。它對參數進行重新組 織,以便于解析

1)命令格式

getopt可以接受任意形式的選項和參數列表,并自動將它們轉換為適當的格式。

命令格式為: getopt options optstring parameters

選項字符串(opstring)用于定義命令行中的有效選項字母,以及哪些選項字母需要參數值。

2)腳本中使用getopt

需要使用set命令將現有的命令行選項和參數替換為getopt命令生成的 格式化形式。

需要將原始腳本命令行參數送給getopt命令,然后將getopt命令輸出送給set命令,如下:set – `getopts –q ab:cd “$@”`

但是getopt命令不能很好的處理帶有空格的參數值,它將空格解析為參數分隔符,而不是將雙引號引起來的兩個 值合并成一個參數。解決辦法如下:

3)更高級的getopts命令

getopts命令順序的對現有的shell參數變量進行處理,每調用一次,只處理命令中檢測到的參數中的一個。處理完所有參數后,以大于0的退出 狀態退出。

非常適宜于在循環中解析所有命令行參數

格式為: getopts optstring variable

$optarg包含需要參數值的選項要使用的值,$optind包含getopts停止處理時在參數列表中的位置。

注意:當getopts處理時,會將選項前的-去掉,所以對應的case中不需要破折號。

好的特性:

1)可以在參數值中包含空格

2)選項字母和參數值中間可以沒有空格

3)將在命令行中找到的未定義的選項都綁定為單一的輸出——問號

5、標準化選項

有一些字母選項具有標準含義。最好按照標準含義定義選項意義

-a –c –d –e –f –h –i –l –n –o –q –r –s –v- x –y

6、獲取用戶輸入

當需要在執行過程中獲得執行腳本人員的輸入,使用read命令

1)基本讀取

read命令接受標準輸入或其他文件描述符輸入。讀入后將數據放入 一個標準變量中。

-p 允許在read命令行中直接指定一個提示。

可以指定多個變量,也可以不指定將放置在reply環境變量中)

2)計時

使用-t指定一個計時器,計時數滿還未輸入,read返回一個非0的退出狀態。

使用-n指定輸入的字符個數,輸入達到預定數目時,就自動結束輸入

3)默讀

使用-s使輸入不顯示在終端例如輸入密碼)

4)讀取文件

最常用的方法是使用cat命令,并通過管道傳給包含read的while語句。

想學習Linux程序設計,但是本人是個真正的菜鳥

1樓太牛了,到高校講授經驗。。。

其實你可以不用看書。。

linux靠命令來操作的。例如,你想查看media文件夾里面有什么東西,你可以用ls命令

例如 ls /media

就會把所有內容列出來。

想知道當前命令行在什么位置,輸入pwd來顯示路徑

想新建一個空文件,touch 1.txt 或者 vi 1.txt 都可以。

要想編譯一個程序。

vi 1.c //寫好代碼

gcc 1.c 就編譯好了。

如果想要一本書來系統學習一下,推薦你購買 鳥哥的linux私房菜 作者有出電子版,你搜索一下就有了。如果連搜索都懶的話,建議你不要學IT


本文名稱:linux命令行程序設計 linux編程命令
文章路徑:http://www.xueling.net.cn/article/ddjgdso.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 国产精品三级 | 亚洲色无码A片一区二小说 久久九九影视 | 国产黄色麻豆视频 | 亚洲视频国产一区 | 一区二区和激情视频 | 亚洲精品久久久蜜桃动漫 | 亲含舔丰满湿插 | 久久999精品久久久有什么优势 | 国产老熟女久久久 | 免费观看男女性高视频 | 99re8这里只有精品 | 亚洲毛片免费在线观看 | 亚洲欧洲精品一区二区三区四区 | 国产一区二区三区成人久久片老牛 | 欧洲在线免费视频 | 麻豆影视免费 | 久久456| 亚洲一级免费视频 | 国产精品国产三级国产av′ | 亚洲人成综合第一网 | 亚洲草片| 国产高清视频在线观看播放 | 五月丁香六月综合AV | 亚洲一区二区三区香蕉 | 东北女人一级毛片 | 日韩一区二区三区无码A片 欧美高清69 | 国产香蕉国产精品偷在线 | 久草在线视频免费资源观看 | 91精品观看91久久久久久国产 | 欧美成人a视频 | 黄色片在线观看网址 | chinese国语videos国产 | 天海翼三点刺激高潮不停 | A级大胆欧美人体大胆666 | 日本黄色录像片 | 国产精品第8页 | 免费看久久妇女高潮A | 精品国产一区二区亚洲人成毛片 | 嫩草视频91 | 吃奶做受在线播放 | 91极品18禁国产在线播放 |