日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Shell是什么?

shell本身是一個命令解釋器,介于操作系統的內核(kernel)和用戶之間,可以執行系統調用及系統命令等,讓用戶以此來與操作系統實現互動。同時,它也用來指一種計算機程序語言(類似于C、Python等)。一個shell程序一般被稱為一個腳本。

Shell語言的流派

目前,shell主要有兩大流派:

sh:

 burne shell (sh)
 burne again shell (bash)

csh:

 c shell (csh)
 tc shell (tcsh)
 korn shell (ksh)

目前,大部分linux系統預設的shell都是bash。

Shell 編程概述

在 Linux 下有一門腳本語言叫做:Shell 腳本,這個腳本語言可以幫助我們簡化很多工作,例如批量運行一些命令等,所以還是很有必要學習它的基本用法的,一個簡單的 hello.sh 腳本像下面這樣。

#!/bin/bash 
echo "Hello World!"

第一行 #!/bin/bash 標識該 Shell 腳本由哪個 Shell 解釋:/bin/bash。將上面的兩行內容寫到文件hello.sh中,就可以執行了:

執行shell腳本方法1:

#這樣可以省略第一行的:#!/bin/bash
sh ./hello.sh

執行shell腳本方法2:賦予權限才可以執行:

# 賦予可執行權限
chmod a+x hello.sh
# 執行 文件的第一行必須指定執行shell的路徑:#!/bin/bash
./hello.sh
# 結果
Hello World!

Shell 變量

Shell 變量分為 3 種:

  1. 用戶自定義變量
  2. 預定義變量
  3. 環境變量

定義變量需要注意下面 2 點:

  1. 等號前后不要有空格:NUM=10
  2. 一般變量名用大寫:M=1

使用 $ 符號調用變量,例如:

VAR="Hello Shell!"
echo $VAR

注意:變量定義直接給變量取名字,變量值如果字符串中有空格等特殊字符需要用引號引起來,這樣VAR變量中存儲了一個字符串,再次調用變量的值需要加符號:$VAR

1. 用戶自定義變量

支持字符串類型,浮點等類型,常見有這 3 個前綴:

  1. unset:刪除變量
  2. readonly:標記只讀變量
  3. export:指定全局變量
一篇文章讓你讀懂linux shell編程--基礎篇

 

注:可將上面內容存入一個sh結尾的文件中運行;

2. 預定義變量

預定義變量常用來獲取命令行的輸入,有下面這些:

一篇文章讓你讀懂linux shell編程--基礎篇

 

一個例子:

一篇文章讓你讀懂linux shell編程--基礎篇

 

執行./hello.sh 1 2 3 4 5 的結果:

一篇文章讓你讀懂linux shell編程--基礎篇

 

3. 環境變量

環境變量默認就存在的變量,常用的有下面這幾個:

  1. HOME:用戶主目錄
  2. PATH:系統環境變量 PATH
  3. TERM:當前終端
  4. UID:當前用戶 ID
  5. PWD:當前工作目錄,絕對路徑

還是看例子:

一篇文章讓你讀懂linux shell編程--基礎篇

 

運行結果:

一篇文章讓你讀懂linux shell編程--基礎篇

 

shell 語句

1. if 語句

這個跟高級語言的 if - else - if 類似,只是格式有些不同而已,也來看個例子吧:

一篇文章讓你讀懂linux shell編程--基礎篇

 

2. for 循環

這是一個 for 循環基本使用例子,挺簡單的,有點類似 Python:

一篇文章讓你讀懂linux shell編程--基礎篇

 

運行結果:

一篇文章讓你讀懂linux shell編程--基礎篇

 

3. while 循環

注意與 for 循環的區別:

一篇文章讓你讀懂linux shell編程--基礎篇

 

運行結果:

一篇文章讓你讀懂linux shell編程--基礎篇

 

shell命令應用:

其實我們打開的linux的終端也是一個shell,上面很多命令不用存到文件中也可以直接在終端運行;下面舉例shell編程的運用;

1.利用循環批量生成命令,分別存儲到不同的文件:

#注意:命令寫成一行的時候用 ; 分隔不同語句塊。
for i in xaa xab xac xad xae xaf xag xah xai xaj xak xal xam xan;do echo "perl /share/work/huangls/piplines/01.script/kegg_update_get_anno.pl $i $i.anno $i.fa" >$i.sh;done
一篇文章讓你讀懂linux shell編程--基礎篇

 

2.利用循環批量修改文件名:

這里我想把下面文件名字中紅色字符批量刪除:(這里需要提前學習字符截取)

一篇文章讓你讀懂linux shell編程--基礎篇

 

命令示例如下:

一篇文章讓你讀懂linux shell編程--基礎篇

 

分享到:
標簽:編程 shell
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定