linux系統shell腳本基本及變量

2021-01-07 樓乙

shell是啥

1、腳本語言,可以用來編寫腳本。

shell script shell腳本(劇本),面向過程的語言。

腳本-->一條條命令的羅列。haproxy

2、翻譯,將用戶輸入的命令翻譯給計算機

默認:/bin/bash

支持命令別名

alias

# alias xx='ls --color=auto'定義

# unalias xx取消別名

通配符

{}# touch file{1..100}

*匹配任意0個或者多個字符,匹配所有。

[]括號中是字符集合,不管字符集合中有多少個字符,只匹配字符集合中的一個字符。[abc][abc] aa ab ac ba bb bc ca cb cc

# touch a{a,b,c,d}.txt

# ls a[abc].txt

[-]-表示範圍。[a-z][A-Z][0-9]

[^a-z] ^表示取反。

?匹配任意一個字符。# ls a?c.txt

其他字符

~當前用戶的家目錄

!最近一次執行過的歷史命令

#命令行中表示的是root用戶

$命令行中表示的是普通用戶,也表示一個變量,還可以調用變量。

%運算符號。取模運算-->取餘運算。

^[^a-z] ^表示取反。 vim中,定位光標到行首。 正則表達式元字符:以^後面跟著的字符開頭的行 grep 『^a』 a.txt

()開啟一個子進程

&後臺運行

\反斜槓。轉義字符(換行符)。

# echo \$\$

# cat /etc/sysconfig/\

> network-scripts/ifcfg-eth0

轉義字符

/表示根目錄;目錄分隔符

3、變量的功能

變量-->變化的量

常量-->固定的量

變量名=`命令`

mem_useage=`sffafsfdsfdsfdsfsdffa`

4、定義變量

變量名=值

可以把命令執行的結果賦值給變量 `cmd` $(cmd)

值可以是普通的字符串,但是如果字符串中有空格,需要使用引號(單、雙)引起來

如果值中有變量,需要解釋變量,我們需要使用雙引號

變量名,可以是字母、數字、下劃線,但是不允許使用數字開頭

5、調用變量

echo ${變量名}

6、刪除變量

unset 變量名

7、環境變量:

/etc/profile --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc

/etc/profile /etc/bashrc全局系統變量文件(每一個用戶都要加載的文件)

~/.bash_profile ~/.bashrc用戶級別的系統變量文件(用戶與用戶之間的差異)

定義一個命令別名: qstat 輸出pid,ppid,tt,fname,並要求每一個用戶都能使用這個別名

alias qstat='ps -Ao pid,ppid,tt,fname'

8、查看用戶當前有哪些變量:

set既可以查看本地變量,又可以查看環境變量

env只能查看環境變量

查看變量

本地變量:只能在當前shell中調用的變量

環境變量:不僅能在當前shell中使用,而且還可以在子shell中使用的變量

環境變量

# abc=100定義本地變量

# export abc導成環境變量

# export b=100直接定義一個環境變量

cmake /usr/local/cmake/bin/cmake /bin /usr/bin/

$PATH執行命令的查找路徑

9、系統變量

$0腳本名

$1表示傳遞給腳本的第一個參數

$2表示傳遞給腳本的第二個參數

$@用"參數1","參數2","參數3"...這個形式顯示傳遞給腳本的所有參數

$*用"參數1,參數2,參數3"...這種形式顯示傳遞給腳本的所有參數

$#表示傳遞給腳本的參數的個數

$$表示當前shell的進程號

$?最近一次執行的命令的返回值

相關焦點

  • Linux中Shell腳本基礎筆記
    shell腳本都是以"#!"作為開頭。這是腳本開始的標記,它是告訴linux系統執行該腳本文件需要使用相應的解釋器,緊挨著的/bin/bash指定了解釋器的具體路徑。shell主要用#作為注釋標記。後面可以加腳本的注釋,建議寫shell腳本要根據情況多寫注釋,便於以後腳本的維護。shell腳本的運行方式:1、可以在shell腳本第一行加上"#!/bin/bash"的話。可以按照以下方式執行:bash test.sh #要保證目錄中存在該腳本文件。2、給腳本加上可執行的權限,然後使用".
  • Linux——Shell腳本中自定義變量的應用(基礎)2
    Shell腳本的應用2(基礎)簡介:這篇文檔為shell腳本變量的應用,詳細講解了自定義變量上篇文檔的連結地址:Linux——Shell腳本的應用1(基礎),也是shell腳本的基礎內容,可以通過連結地址查看。
  • linux shell 腳本入門
    Linux 腳本編寫基礎1.1 語法基本介紹1.1.1 開頭程序必須以下面的行開始(必須方在文件的第一行):#!/bin/sh符號#!用來告訴系統它後面的參數是用來執行該文件的程序。在這個例子中我們使用/bin/sh來執行程序。當編輯好腳本時,如果要執行該腳本,還必須使其可執行。
  • 乾貨 | Linux基本技能—Shell精簡教程
    腳本程式語言的例子有awk、Perl、Python、Ruby與Shell。因為Shell似乎是各UNIX系統之間通用的功能,並且經過了POSIX的標準化。因此,Shell腳本只要「用心寫」一次,即可應用到很多系統上。因此,之所以要使用Shell腳本是基於:簡單性:Shell是一個高級語言;通過它,你可以簡潔地表達複雜的操作。
  • 玩轉Linux - shell 編程基礎(一)
    很多時候伺服器都需要編寫一些計劃任務來定時運行的,所以掌握一些基本的 shell 編程基礎很有必要。本文是我在網上收集的一些資料,主要目的是幫助自己更好的了解掌握 shell 編程的一些基礎知識。什麼是Shell腳本示例看個例子吧:#!
  • shell腳本極簡教程
    沒有一個大公司不要求linux的基本技能的,只是不同崗位要求掌握的程度不同。Shell本身是一個用C語言編寫的程序,它是用戶使用Unix/Linux的橋梁,用戶的大部分工作都是通過Shell完成的。Shell既是一種命令語言,又是一種程序設計語言。
  • Linux——Shell腳本的應用1(基礎)
    Shell腳本的應用(基礎)簡介:隨著linux系統在企業中的應用越來越多,伺服器的自動化管理也變得越來越重要。在linux伺服器的自動化維護工作中,除了計劃任務的設置以外,shell腳本的應用也是非常重要的一部分。
  • 精心匯總的 24 道 shell 腳本面試題
    如下是一些面試過程中,經常會遇到的 shell 腳本面試問題及解答:Q:1 Shell腳本是什麼、它是必需的嗎?答:一個Shell腳本是一個文本文件,包含一個或多個命令。作為系統管理員,我們經常需要使用多個命令來完成一項任務,我們可以添加這些所有命令在一個文本文件(Shell腳本)來完成這些日常工作任務。
  • 你不得不了解的linux知識,強大的Shell變量
    變量是暫時存儲數據的地方或數據標記,這個標記裡面的東西可以是一切,我們的計算機系統通過調用這個標記讀取裡面的內容。如果你想真正非常熟練地運用linux系統,掌握shell的變量時非常有必要的。,可以在創建它們的shell以及生成出來的子進程中使用;環境變量又分為自定義環境變量和內置的環境變量。
  • Linux命令行與Shell腳本編程學習筆記20
    trap命令允許你來指定shell腳本要觀察哪些linux信號並從shell中攔截。如果腳本收到了trap命令中列出的信號,它會阻止它被shell處理,而在本地處理它。2. trap命令的格式是: trap commands signals3. 當&符放到命令後時,它會將命令和bash shell分離開來,並將它作為系統上的獨立後臺進程運行。
  • 不懂什麼是shell腳本?看完本文你一定就懂了
    不管是我們瀏覽的各種新聞媒體還是玩的各種遊戲,都是由各網際網路公司內部的伺服器提供的服務,而這些伺服器上安裝的作業系統,至少有90%是建立在linux系統上的,所以linux系統的人才也是網際網路行業內比較搶手的人才,各種培訓班更是層出不窮!小編本人也非常喜歡看各種linux系統的文章,其中有一個詞叫做shell,小編開始就是不明白什麼意思。
  • 平常寫shell腳本遇到的問題匯總
    最近也是在linux下寫了很多的shell腳本,之前也自己總結過遇到的一些問題及解決方法,最近又遇到並且整理了一下,下面簡單說下最近遇到的問題以及解決方法。."[: too many arguments"錯誤問題:最近在寫 shell腳本的時候發現了這樣一個問題:PID=`cat ****`while [ !
  • 《Linux基礎》第5講 shell編程 (一)
    注意:bash是 Bourne Again Shell 的縮寫,是linux標準的默認shell ,它基於Bourne shell,吸收了C shell和Korn shell的一些特性。bash完全兼容sh,也就是說,用sh寫的腳本可以不加修改的在bash中執行。
  • Linux作業系統之Shell程序設計
    用Shell語言編寫的Shell程序可以使用各種變量、參數和控制結構來組織命令流程,自動化地完成各種複雜冗繁的處理工作。Linux系統中廣泛使用了Shell程序來實現系統的初啟、配置、管理和維護等工作。因此,熟練掌握Shell語言可以更加深入地理解系統的運行機制,更加有效地使用和管理系統。
  • Linux shell腳本編程入門系列一:認識shell腳本
    1、什麼是shell腳本將多個shell命令按語法組合在一起,並保存在文本文件中即得到我們所說的shell腳本(shell script)。shell腳本可以方便地與系統交互,完成系統管理以及批處理任務。shell處於作業系統與應用之間,起到橋梁的作用。
  • 什麼是Shell腳本?為什麼要學習Shell?
    Shell腳本語言是實現Linux/UNIX系統管理及自動化運維所必備的重要工具, Linux/UNIX系統的底層及基礎應用軟體的核心大都涉及Shell腳本的內容。每一個合格 的Linux系統管理員或運維工程師,都需要能夠熟練地編寫Shell腳本語言,並能夠閱 讀系統及各類軟體附帶的Shell腳本內容。
  • 【Linux】shell高級編程視頻教程(含經典案例)
    說到底,Shell是用戶與內核進行交互操作的一種接口,目前最流行的Shell稱為bash Shell      Shell是解釋執行的腳本語言,所謂腳本語言就是不用編譯就可以直接執行的語言。在Shell中可以調用Linux系統命令。
  • 編寫Linux Shell腳本的最佳實踐
    那麼這時我們就會在腳本開頭重新定義JAVA_HOME以及PATH變量來進行控制。 同時,一段好的代碼通常是不會有很多硬編碼在代碼裡的「魔數」的。如果一定要有,通常是用一個變量的形式定義在開頭,然後調用的時候直接調用這個變量,這樣方便日後的修改。 縮進有規矩 對於shell腳本,縮進是個大問題。
  • linux作業系統pwd的基本語法
    這條命令是一條shell內建命令,並且在大多數shell中都可以使用,如bash、Bourne shell,ksh、zsh等等。pwd的基本語法:列印可執行文件路徑pwd的基本語法--存儲「pwd」命令的值到變量中(比如說:a ),並從中列印變量的值(對於觀察shell腳本很重要
  • Linux命令行與Shell腳本編程學習筆記15
    在創建shell腳本文件時,必須在文件的第一行指定要使用的shell。3. 在通常的shell腳本的行裡,井號(#)用作注釋行。shell腳本中注釋行是不被shell執行的。然而,shell腳本文件的第一行是個特例,井號後接嘆號告訴shell用哪個shell來運行腳本。4. 有些Linux發行版將$HOME/bin目錄添加進了PATH環境變量。