shell編程變數
『壹』 什麼事位置變數shell的變數類型有哪些種
比如要運行的程序是test.sh
test.sh 1 2 3 a b
上邊的 1 2 3 a b傳遞到腳本里就是位置變數 $1 $2 $3 $4 $5
shell的變數基本上分為:全局變數,本地變數(或叫局部變數)。
Shell是一個用C語言編寫的程序,它是用戶使用linux的橋梁。Shell既是一種命令語言,又是一種程序設計語言,涵蓋的知識點多且雜,卻是雲計算開發人員必須要掌握的技術之一。接下來就給大家梳理一下Shell變數相關的知識。
(1)shell編程變數擴展閱讀:
實際上Shell是一個命令解釋器,它解釋由用戶輸入的命令並且把它們送到內核。不僅如此,Shell有自己的編程語言用於對命令的編輯,它允許用戶編寫由shell命令組成的程序。Shell編程語言具有普通編程語言的很多特點,比如它也有循環結構和分支控制結構等,用這種編程語言編寫的Shell程序與其他應用程序具有同樣的效果。
『貳』 shell 腳本里的變數怎麼加1
shell 腳本里變數加一方式如下六種:
1、第一種整型變數自增方式
a=$(($a+1))
echo$a
2、第二種整型變數自增方式a=$[$a+1]
echo$a
a=`expr$a+1`
echo$a
leta++
echo$a
5、第五種整型變數自增方式leta+=1
echo$a
6、第六種整型變數自增方式((a++))
echo$a
(2)shell編程變數擴展閱讀:
基本上shell分兩大類:
1、圖形界面shell(Graphical User Interface shell 即 GUI shell)
應用最為廣泛的 Windows Explorer (微軟的windows系列操作系統),還有也包括廣為人知的 Linux shell,其中linux shell 包括 X window manager (BlackBox和FluxBox),以及功能更強大的CDE、GNOME、KDE、 XFCE。
2、命令行式shell(Command Line Interface shell ,即CLI shell)
bash / sh / ksh / csh / zsh(Unix/linux 系統),cmd.exe/ 命令提示字元(Windows NT 系統),Windows PowerShell(支持 .NET Framework 技術的 Windows NT 系統),傳統意義上的shell指的是命令行式的shell,以後如果不特別註明,shell是指命令行式的shell。
『叄』 shell腳本變數的定義與賦值
定義變數
Shell 支持以下三種定義變數的方式:
variable=value
variable='value'
variable="value"
variable 是變數名,value 是賦給變數的值。如果 value 不包含任何空白符(例如空格、Tab 縮進等),那麼可以不使用引號;如果 value 包含了空白符,那麼就必須使用引號包圍起來。使用單引號和使用雙引號也是有區別的,稍後我們會詳細說明。
注意,賦值號=的周圍不能有空格,這可能和你熟悉的大部分編程語言都不一樣。
Shell 變數的命名規范和大部分編程語言都一樣:
變數名由數字、字母、下劃線組成;
必須以字母或者下劃線開頭;
不能使用 Shell 里的關鍵字(通過 help 命令可以查看保留關鍵字)。
變數定義舉例:
url=http://c.biancheng.net/shell/
echo $url
name='C語言中文網'
echo $name
author="嚴長生"
echo $author
使用變數
使用一個定義過的變數,只要在變數名前面加美元符號$即可,如:
author="嚴長生"
echo $author
echo ${author}
變數名外面的花括弧{ }是可選的,加不加都行,加花括弧是為了幫助解釋器識別變數的邊界,比如下面這種情況:
skill="Java"
echo "I am good at ${skill}Script"
如果不給 skill 變數加花括弧,寫成echo "I am good at $skillScript",解釋器就會把 $skillScript 當成一個變數(其值為空),代碼執行結果就不是我們期望的樣子了。
推薦給所有變數加上花括弧{ },這是個良好的編程習慣。
修改變數的值
已定義的變數,可以被重新賦值,如:
純文本復制
url="http://c.biancheng.net"
echo ${url}
url="http://c.biancheng.net/shell/"
echo ${url}
第二次對變數賦值時不能在變數名前加$,只有在使用變數時才能加$。
『肆』 如何在shell腳本中使用變數
在shell腳本中變數的定義,只能以字母和下劃線開始,區分大小寫,可以包含數字、字母下劃線。
示例代碼,讀取用戶輸入到變數myvar,然後再輸入。
#!/bin/bash
echo "input myvar"
read myvar
echo "myvar is $myvar"
效果如下:
『伍』 Linux下的Shell編程變數是怎樣定義的
linux
shell變數的定義一般格式
變數名=變數值。
比如var=123
var=hello
var="hello
world"
這些都是可以的,但是變數名第一個字元不能是數字,可以是下劃線或者字母。
另外=兩邊不可以有空格。
『陸』 shell編程,變數賦值問題
可以賦值,但是賦值時等號前後別放空格,不然會提示 Command not found,如上圖
『柒』 shell編程變數欄位X是什麼含義
"$PROCESS_PID.X" != ".X"
"$VM_SIZE.X" = ".X"
"$VM_RSS.X" = ".X"
這三個意思是,如果變數為空,那麼等式為真或為假(!),因為有時不加一個字元(X或其它),在shell 里會對變數為空時進行誤判,而且這里應該用==
比如和下面是一個意思:
A=`ls`
if [ X"$A" == X ]
then
echo "A is null"
fi
『捌』 Linux下的Shell編程變數是怎樣定義的...
shell變數比C語言中的變數簡單得多,沒有眾多存儲類及類型的限制,也不需要預先定義,然後才能賦值,可以在使用時"現在定義,現賦值".
shell有兩種變數:環境變數和臨時變數.環境變數是永久性變數,其值不會隨shell腳本執行結束面消失.而臨時變數是在shell程序內部定義的,其使用范圍公限於定義它的程序,離開了本程序就不能再用,它而且當程序執行完畢,它的值也就不存在了.
『玖』 shell變數的作用空間是什麼
Shell是一個用C語言編寫的程序,它是用戶使用Linux的橋梁。Shell既是一種命令語言,又是一種程序設計語言,涵蓋的知識點多且雜,卻是雲計算開發人員必須要掌握的技術之一。接下來就給大家梳理一下Shell變數相關的知識。
Linux Shell中的變數可以被指定為任意的數據類型,比如文本字元串或者數值。你也可以通過修改Shell中的變數來改變Shell的樣式。
Shell支持三種定義變數的方式:
variable=value
variable='value'
variable="value"
variable是變數名,value是賦給變數的值。如果value不包含任何空白符(例如空格、Tab縮進等),那麼可以不使用引號;如果value包含了空白符,那麼就必須使用引號包圍起來。注意,賦值號=的周圍不能有空格。
Shell變數的命名規范和大部分編程語言一樣:變數名由數字、字母、下劃線組成;必須以字母或者下劃線開頭;不能使用Shell里的關鍵字(通過help命令可以查看保留關鍵字)。
Linux中Shell變數分為系統變數和用戶自定義變數,系統變數包括$HOME、$PWD、$SHELL、$USER、echo $SHELL以及顯示當前Shell中所有變數set。
Shell自定義變數包括1)定義變數:變數=值;2)撤銷變數:unset變數;3)聲明靜態變數:readonly變數,注意不能unset;4)使用export把變數提升為全局環境變數,如/etc/profile中的TOMCAT_HOME變數,且在另外的/opt/tmp/shell/myShell.sh腳本中使用該環境變數。
Shell設置環境變數
基本語法:
1)export:變數名=變數值(功能描述:將shell變數輸出為環境變數)
2)source:配置文件(功能描述:讓修改後的配置文件立即生效)
3)echo:$變數名(功能描述:查詢環境變數的值)
單行注釋:#
多行注釋::<<!需要注釋的內容!
Shell腳本很適合處理純文本類型的數據,而Linux中幾乎所有的配置文件、日誌文件(如NFS、Rsync、Httpd、Nginx、MySQL等),以及絕大多數的啟動文件都是純文本類型的文件。Shell是運維人員必須要掌握的技能,此外還需要掌握Linux、信息安全、Docker容器等。