在linux中編寫shell腳本文件,如何編寫簡單的Shell腳本(Script)文件之Linux的基本操作...

如何編寫簡單的Shell腳本(Script)文件之Linux的基本操作

新建一個文本文件包含所需要的腳本。舉例,我會使用pico編輯器寫一個腳本用來運行程序tar,帶上必要的可選項可以用來解壓從因特網下載下來的*.tar的文件(我好像總是記不住tar的所有參賽)。滑動軸承?我決定把我的腳本名稱叫做“untar”:

pico untar

因為在我的當前工作目錄里untar文件不存在,所有pico文本編輯器自動創建這個文件,現在,我輸入以下內容:

#!/bin/bash

echo this is the script file $0

echo untarring the file $1

# this calls tar with options -xvzf (extract,

# verbose, filter through gzip, input filename)

tar -xvzf $1

我使用O保存這個文件,然后X退出。

腳本的第一行,以“#!”開始是特別的提示-它告訴shell應該用哪一個程序來解釋我的腳本。在這個例子里,我使用bash shell /bin/bash。第一行必須使用“#!”開頭,否則腳本不會運行(系統認為是一個文本文件)。水泥煙囪新建?其他以“#”開始的行是注釋行只是給作者和讀者使用的,計算機將跳過這些行。

在以上腳本里,參數$0, $1, $2…是傳遞到腳本里面的參數。舉個例子,如果我運行我的腳本名“myscript”帶七個參數如下:

myscript a b c d e f g

那么,參賽$0就是myscript, $1就是a, $2就是b,$3就是c,依此類推。

腳本的第二行和第三行,echo命令輸出所有在它后面同一行上的文本,然后擴展在腳本里對應的參數$0和$1。第四行和第五行是我寫的注釋文本,提醒我在這個腳本里要做的事情。只有最后一行是真正起作用的。

一旦腳本已經寫好,我把文件屬性改成對文件擁有者是“可執行”的:

chmod u+x untar

然后我的腳本就可以這樣運行了:

./untar my_tar.tar.gz

Liunx腳本的確非常豐富,靈活,功能強勁,還可能有點復雜。然而,對于日常任務編寫一些簡單腳本,它并不需要什么特別高深的知識。你可以把一些要用到的命令放在一起,一個接一個,輸入到文件里。活動隔斷?我使用腳本很頻繁是因為我太懶了,不想一次一次的輸入相同的命令。

一個最簡單的方法,可以把一組命令放在文本文件里然后使用source命令傳遞給shell讓它直接運行:

source my_file

這個時候就不需要在文本第一行加上“#!”的標志了。

3.4.6 引號的含義

一般來說,以下字符對于shell有特殊的含義:

\ ' " ` < > [ ] ? | ; # $ ^ & * ( ) =

這里有四種不同的符號:反斜杠(\),單引號(‘),雙引號(“),反向單引號(`)。

反斜杠(\)表示:關閉后面字符的特殊含義

單引號(‘)表示:關閉在兩個單引號之間所有字符的特殊含義

雙引號(“)表示:關閉在兩個雙引號之間所有字符的特殊含義除了$ ` \

反向單引號(`)表示:告訴shell首先運行兩個反向單引號之間的命令,生物醇油?然后把得到的結果再傳遞給兩個單引號之外的命令。同樣的功能也可以通過“$command”命令來實現,而且可能會更方便。

舉個例子,我可以創建一個奇怪的目錄名叫做“*”通過使用“\”或者“’”符號:

mkdir \*

mkdir ’*’

這屏蔽了“*”對于shell的特別含義。如果沒有“\”,“*”意味著當前目錄下所有文件。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530499.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530499.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530499.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux鉤子攔截刪除文件,在Linux中保存鉤子文件

您可以嘗試FILE_PRELOAD utility&#xff0c;它們會生成帶鉤子的C代碼&#xff0c;編譯和LD_PRELOAD它。在簡短的看了一下之后&#xff0c;你可以感覺到如何輕松地掛接linux。起點是this tutorial。例如&#xff0c;如果你想改變文件/ tmp的“公開征集” /一些帶有的/ tmp/repl…

Linux內核怎么優化,linux 內核該怎么優化

Linux系統下&#xff0c;TCP連接斷開后&#xff0c;會以TIME_WAIT狀態保留一定的時間&#xff0c;然后才會釋放端口。當并發請求過多的時候&#xff0c;就會產生大量的TIME_WAIT狀態的連接&#xff0c;無法及時斷開的話&#xff0c;會占用大量的端口資源和服務器資源。這個時候…

編譯linux內核適用的編譯器,編譯Linux內核時,CC,LD和CC [M]輸出的代碼是什么?...

所以一般情況下&#xff0c;你只需要 git grep cmd.* CODE找到CODE。獲取scripts/Makefile.build定義的所有代碼 make | grep -E ^ | sort -uk1,1CC和CC [M]名單&#xff1a; quiet_cmd_cc_o_c CC $(quiet_modtag) [email protected]cmd_cc_o_c $(CC) $(c_flags) -c -o [em…

紅旗linux修改個人密碼,LINUX紅旗5.0的用戶名和密碼!

怎樣卸載、安裝紅旗linux本二,安裝紅旗Linux桌面版 4。0將光驅設為第一啟動盤,放入第一張安裝光盤后重新啟動電腦,如果你的光驅支持自啟動, 如無意外將出現如下圖1如果不進行操作,在10秒后自動進入下一畫面,顯示如下圖2所示一啟動就能使用鼠標了,比效方便;軟件協議,只能選同意,…

linux多線程九宮格,項目實戰:Qt九宮格圖片資源瀏覽器(支持window、linux、兼容各國產系統,支持子文件夾,多選,全選,圖片預覽,行數與列數設置等)...

需求做嵌入式設備&#xff0c;需求九宮格圖片資源瀏覽器&#xff1a;1.設置根目錄&#xff1b;2.可拖動&#xff1b;3.可設置列數與行數&#xff1b;4.點擊文件夾可以進入文件夾&#xff1b;5.點擊圖片可以瀏覽圖片&#xff1b;6.支持觸摸屏上下拽拖瀏覽&#xff1b;7.支持長安…

linux mdev -s沒有運行,mdev詳解

一、概述mdev是busybox提供的一個工具&#xff0c;用在嵌入式系統中&#xff0c;相當于簡化版的udev&#xff0c;作用是在系統啟動和熱插拔或動態加載驅動程序時&#xff0c;自動創建設備節點。文件系統中的/dev目錄下的設備節點都是由mdev創建的。在加載驅動過程中&#xff0c…

linux x86-64下,Linux x86_64下安裝Flash Player 9

家里 Linux 安裝已經有幾天了&#xff0c;可是用 Firefox 瀏覽網頁總是看不到 Flash。到了 Adobe 官方去下載了 Flash 插件&#xff0c;結果安裝的時候說它不支持 x86_64&#xff0c;安裝計劃就一直擱淺。天天上網看見“缺失插件”的框框&#xff0c;非常不爽&#xff0c;所以就…

window連接樹莓派linux桌面,遠程連接Raspberry Pi(樹莓派)圖形用戶界面(X Window)

背景&#xff1a;有的時候&#xff0c;我們希望能遠程連接一臺linux的圖形界面用來管理機器,這里需要用到tightvncserver和xtightvncviewer兩個工具我的樹莓派的ip是10.141.247.134 另一臺機器為作client去鏈接樹莓派的ip為10.141.247.121. 先在樹莓派的機器上安裝tightvncs…

linux小紅帽系統能用微信,小紅帽騰訊QQ微信登錄版-小紅帽騰訊版v1.0.3 安卓版-騰牛安卓網...

小紅帽騰訊版是一款專為廣大喜愛玩童話類手游的玩家打造的歐美風游戲&#xff0c;這款游戲有著最為精致的游戲畫面&#xff0c;黑色風格的童話故事&#xff0c;帶領玩家領略不一樣的童年世界&#xff0c;給您帶來最佳的游戲體驗&#xff01;小紅帽騰訊版簡介《小紅帽》是一款改…

在linux實現公平隊列,多級反饋隊列調度策略在Linux中的應用和實現.pdf

多級反饋隊列調度策略在Linux中的應用和實現.pdf第30卷第20期 計算機工程 2004年10月I&#xff0f;01&#xff0e;30^矗2口 ComputerEngineering October2004文t標識碼tA 中強分婁號I TP311&#xff0e;52軟件技術與數據庫 文章-號tlooo-3428(2004)20—&#xff0e;008l—_03多…

c語言第五章作業,《C語言程序設計》第五章作業.doc

《C語言程序設計》第五章作業窗體頂端《C語言程序設計》第5章作業布置日期&#xff1a;2012-3-15?????截止日期&#xff1a;2012-3-22一、單選題 (每小題6分&#xff0c;共102分)?1、以下說法中正確的是&#xff3f;&#xff3f;&#xff3f;&#xff3f;。????A、C語…

i7 5500u linux,i7 5500u相當于什么cpu

大家好&#xff0c;我是時間財富網智能客服時間君&#xff0c;上述問題將由我為大家進行解答。i7 5500u相當酷睿i5CPU&#xff0c;I7 5500U是酷睿筆記本專用CPU&#xff0c;是雙核四線程的一款處理器&#xff0c;嚴格來說不算第五代的I7&#xff0c;而是全新一代的I7型號。酷睿…

c語言字符串用for語句去重,C# 實現字符串去重

方法一 注&#xff1a;需要.net 3.5框架的支持string s "101,102,103,104,105,101,102,103,104,105,106,107,101,108";s string.Join(",", s.Split(,).Distinct().ToArray());方法二class Program{static void Main(string[] args){string result"&…

c語言利用遍歷求樹高的程序,用C語言實現二叉樹的遍歷極其應用

用C語言實現二叉樹的遍歷極其應用[1]〔摘要〕&#xff1a;《數據結構》是計算機系學生的一門專業技術基礎課程&#xff0c;計算機科學各領域及有關的應用軟件都要用到各種數據結構。C語言有較豐富的數據類型、運算符以及函數&#xff0c;能直接與內存打交道&#xff0c;使修改、…

c語言編程出彩色告白,C語言告白代碼,一閃一閃亮晶晶~

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓#include #include #include #define I 20#define R 340int main(){int i,j,e;int a;for(i1,aI;ifor(j(int) ( I-sqrt(I*I-(a-i)*(a-i)) );j>0;j--)printf(" ");for(e1;e<2*sqrt(I*I-(a-i)*(a-i));e)printf("…

計算機二級c語言2021年重點內容,2021年5月計算機二級C語言試題(總)

一個考生的快樂&#xff0c;不是因為他備考的時間多&#xff0c;而是因為他的選擇對。選擇考無憂題庫&#xff0c;做二級C語言試題&#xff0c;助你備考輕松&#xff01;二級C語言試題【1】1.若有以下數組說明&#xff0c;則i10;a[a[i]]元素數值是(C)。int a[12]{1,4,7,10,2,5,…

c語言case key pres,C#程序設計B-中國大學mooc-題庫零氪

第2講 C#語言基礎2.1 數據類型、變量與常量 —— 語言中的單詞隨堂測驗1、(加號)可以表示A、算術的加法B、正號C、字符串的連接D、事件的注冊()2、int是引用類型3、string是引用類型4、double在內存中占8個字節5、int占2個字節6、Person p1 new Person(18); //Person是引用類型…

c語言遞歸求差分方程,如何使這個簡單的遞推關系(差分方程)尾遞歸?

bytebuster的解決方案很好&#xff0c;但他沒有解釋他是如何創建它的&#xff0c;所以它只會幫助解決這個特定的問題。順便說一句&#xff0c;你的公式看起來有點像斐波納契(但不完全)&#xff0c;它可以是calculated analytically without any looping(即使沒有循環隱藏在Seq.…

android text 字體設置,Android TextView個別字體格式設置小結

android 在同一個TextView中如何展現出不同的字體和顏色總結一下1.主要是痛通過String.xml使用html標簽靜態配置然后動態引用Html.fromHtml(getResources().getString(R.string.myHeadStr));2.textView 動態設置//創建一個 SpannableString對象 msp new SpannableString("…

android 圖片合成pdf文件,教你怎么把多張圖片合成一個pdf文件

當你遇到需要把多張圖片合并成一個pdf文件時&#xff0c;你需要怎么做?可能有些朋友會說下載一個pdf格式轉換工具&#xff0c;其實不必這么麻煩&#xff0c;你只要把文件上傳到在線迅捷pdf轉換器&#xff0c;就可以一站式幫你搞定pdf文件的格式轉換以及一些常用的功能操作(如p…