1. 程式人生 > >linux-shell之初探。

linux-shell之初探。

       最近閒來無事,準備學習下shell程式設計。至於什麼是shell,shell是用來幹什麼的?我相信但凡學習他的人都是有目的而來的。如果是像我這樣的fish,那麼還是等用到的時候再來學習吧。

       參考書籍:《shell程式設計:從入門到精通》,張昊著。

       接下來就可以開始我們的shell之旅了。首先,介紹到的是如何執行linux程式的?實際上,可分為兩種,一種是呼叫直譯器執行程式,還有一種是使用source來執行檔案。

  • 呼叫直譯器執行程式:在程式的第一行通過“#!/XXX/XXX”來確定對程式使用怎樣的程序來執行此程式。如果有需要還可以在直譯器後加引數,例如:-l,-V等等。在執行過程中,存在程序的建立和消亡。
  • 使用source執行程式:使用source執行shell指令碼時,不會建立子程序,而是在父程序中直接執行,沒有程序的建立和消亡。當需要在程式中修改當前shell本身的環境變數時,使用source命令執行。

其次,需要了解shell命令的種類:內建命令,shell函式、外部命令。

  • 內建命令:shell本身包含的命令,可以通過help來檢視。
  • shell函式
  • 外部命令:執行此命令時,需要複製一個與當前shell一樣的程序,存在程序的建立和消亡。

相關推薦

linux-shell初探

       最近閒來無事,準備學習下shell程式設計。至於什麼是shell,shell是用來幹什麼的?我相信但凡學習他的人都是有目的而來的。如果是像我這樣的fish,那麼還是等用到的時候再來學習吧。        參考書籍:《shell程式設計:從入門到精通》,張昊著。

linux shell if-------用if做判斷

exist word then ucc reserve 服務器 單機 mon true 一 簡介 1 字符串判斷 str1 = str2      當兩個串有相同內容、長度時為真 str1 != str2      當串str1和str2不等時為真 -n s

linux shell 嘗試編寫 企業級 啟動腳本

nginx data err 企業級 開機自啟 註意 sbin 分享 fin 企業Shell面試題10:開發企業級MySQL啟動腳本 說明: MySQL啟動命令為: 1 /bin/sh mysqld_safe --pid-file=$mysqld_pid_

linux shell 終端讀寫文件數據流和重定向>,<,<<,>>

運行 文件的 方式 ech 描述符 run 傳遞 實例 pan 終端實現文件中數據流的讀寫; 重定向命令列表如下: 命令說明 command > file 將輸出重定向到 file。將終端數據寫到文件file中 command < file 將輸入重定

shellLinux shellwhile循環

shell Linux 腳本 while 循環 while和for一樣都是循環語句,相對來說,for循環用的會比較多一點。但是while循環在讀取文件行的時候會特別好用。 while 格式 while [ 條件 ] do 內容 done 實例:判斷i是否小與等於5,如果小於等於

shellLinux shell case 詳解

shell linux 運維 腳本 case 總的來說,case是一個判斷語句 ,比if更加容易理解一點。 case 語句格式 case in 變量 值1) 內容 ;; 值2) 內容 ;; esac 註意:每個內容後面都需要添加 ;; ,可以跨行也可以同行寫。 實例:

shellLinux shell break和continue詳解

shell break linux 腳本 break和continue都可以在循環中使用,但是兩個的功能有點不同,比如break是跳出整個循環,而continue則是跳出本次循環,繼續下個循環,下面我們會通過例子來演示這兩個的不同之處。 ** 例子:打印數字1-10,如果 i&gt

shellLinux shell 判斷用戶輸入的變量是否為數字

shell linux 腳本 編程 自動化運維 本文內容:判斷用戶輸入的參數是否為數字 在shell中如何進行計算? 方式一 [root@XiaoPeng scripts]# echo $((1+2)) 3 方式二 [root@XiaoPeng scripts]# expr

shellLinux shell 打印99乘法表詳解

shell linux 腳本 打印99乘法表在任何語言中都是一個必寫的程序,特別是學習了循環之後。 打印99乘法表第一步 眾所周知,99乘法表的格式為x * y = z所以我們至少需要兩個參數,一個為x,一個為y,這裏我們使用 i 和 j 來表示。x 和 y 都不會超過 9 ,並具有一定的規律

Linux shell數組

string ria 個數 指定 大小 pad ffffff 引號 進行 Linux shell之數組引言  在Linux平臺上工作,我們經常需要使用shell來編寫一些有用、有意義的腳本程序。有時,會經常使用shell數組。那麽,shell中的數組是怎麽表現的呢,又是怎麽

Linux shell打印輸出

%d 常用 命令 重置 def 顏色 換行符 tab鍵 腳本 經常需要和shell命令打交道,但是一直沒有系統的學習,接下來會花1到2個月的時間系統的學習一下shell命令,接下來就開啟shell命令的奇妙旅行吧。本章主要介紹shell的打印輸出。 知識要點 sh

linux shellbash

linux的核心是kernel,用來管理linux的硬體。我們的一般使用者(user),是通過以shell來和核心(kernel)來溝通的。 基本上,替我們工作的是『硬體』,而控制硬體

Linux Shelldeclare命令

1、變數宣告為數值型 declare -i num=12 也可以檢視變數型別 declare -p num 得到的結果如下 declare -i num="12" 2、宣告陣列變數 (1)定義陣列 (2)檢視陣列 echo ${a

linux shellbash的特性

1. 命令別名 檢視當前使用者別名定義:alias 示例: [[email protected] ~]# alias alias cp=’cp -i’ alias egrep=’egrep –color=auto’ alias

Linux Shell Shell中的函式呼叫

注意,()內是沒有引數的,它並不像C語言那樣,在()裡可以有引數。二、函式的呼叫、使用 1、呼叫外部的函式,直接在本函式內新增. fname.sh 然後: fname  #不帶引數的 fname agr1 agr2   #帶引數的 2、本部的函式則可以直接使用 fname  #不帶引數的 fname agr1

linux shellsed

  sed編輯器逐行處理輸入,然後把結果傳送到螢幕。 -i選項:直接作用原始檔,原始檔將被修改。 sed命令和選項: a\ 在當前行後新增一行或多行 c\ 用新文字替換當前行中的文字 d 刪除行 i\ 在當前行之前插入文字 h 把模式空間的內容複製到暫存緩衝區 H 把

Linux shell 提取檔名和目錄名的一些方法

很多時候在使用Linux的shell時,我們都需要對檔名或目錄名進行處理,通常的操作是由路徑中提取出檔名,從路徑中提取出目錄名,提取檔案字尾名等等。例如,從路徑/dir1/dir2/file.txt中提取也檔名file.txt,提取出目錄/dir1/dir2,提取出檔案字

linux shell陣列和關聯陣列

陣列:像C語言中的陣列是同一種意思 #!/bin/bash #陣列 num_value=(1 2 3 4 5) echo ${num_value[*]} echo ${num_value[@]}

linux shell變數的使用規則

宣告 以下內容均引用自鳥哥私房菜 變數的使用規則 1.變數與變數內容以一個等號”=”連線 [root@localhost ~]# myname=lichao 2.等號兩邊不能存在空格字元 [root@localhost kernel]#

Linux-Shell檔案操作

  學些了Linux Shell命令列使用,對於檔案的操作除了記下來,但還沒有找到相應方法掌握,常常混亂。資料庫有“增刪改查”,因而同樣按理來分類檔案操作方法,較為清晰。同時作為檔案,有許可權、大小等檔案屬性,因而加入“看”來看檔案屬性。這樣就變為“增刪看改查”