shell腳本定義變數
A. Linux下的Shell編程變數是怎樣定義的...
shell變數比C語言中的變數簡單得多,沒有眾多存儲類及類型的限制,也不需要預先定義,然後才能賦值,可以在使用時"現在定義,現賦值".
shell有兩種變數:環境變數和臨時變數.環境變數是永久性變數,其值不會隨shell腳本執行結束面消失.而臨時變數是在shell程序內部定義的,其使用范圍公限於定義它的程序,離開了本程序就不能再用,它而且當程序執行完畢,它的值也就不存在了.
B. shell腳本中定義值為*的變數
var="*"#轉義一下
evalecho$var
或用:
var="*"
echo-e"$var"
或者用單引號屏蔽*的特殊含義:
echo'*'
C. shell腳本里的變數怎麼加1
shell腳本中的整數型變數加1的方式如下:
#!/bin/sh
#本腳本測試shell腳本中整型變數自增加1的幾種方法
#定義整型變數
a=1
echo$a
#第一種整型變數自增方式
a=$(($a+1))
echo$a
#第二種整型變數自增方式
a=$[$a+1]
echo$a
#第三種整型變數自增方式
a=`expr$a+1`
echo$a
#第四種整型變數自增方式
leta++
echo$a
#第五種整型變數自增方式
leta+=1
echo$a
#第六種整型變數自增方式
((a++))
echo$a
Shell腳本與Windows/Dos下的批處理相似,也就是用各類命令預先放入到一個文件中,方便一次性執行的一個程序文件,主要是方便管理員進行設置或者管理用的。但是它比Windows下的批處理更強大,比用其他編程程序編輯的程序效率更高,它使用了Linux/Unix下的命令。
D. 如何正確在Linux Shell腳本中定義一個時間變數
1、創建腳本 test.sh,並入截圖內容。
E. 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}
第二次對變數賦值時不能在變數名前加$,只有在使用變數時才能加$。
F. bash如何在一個腳本里引用另一個腳本定義的變數
其實不需要那麼多腳本,只要一個腳本定義目錄路徑以及每個目錄分別對應的屬性,用export命令將這些變數導出為公共環境變數即可在任意腳本中引用。
比如專門用於定義變數的腳本可以這樣寫:
export folder1=/home/tester/1
export name1=a
export owner1=userA
export folder2=/home/tester/2
export name2=b
export owner2=userB
或者先定義好,再export:
folder1=/home/tester/1
name1=a
owner1=userA
export folder1;export name1;export owner1
這些變數就可以直接在操作目錄的腳本中使用了。
G. 寫shell 腳本的時候,怎樣把標准輸出定義到變數上(不是文件)
result=$(echo hello) 這樣可以把echo結果保存到變數里,且不會在屏幕上輸出
H. shell腳本中可以設置全局變數么
因為 管道符 會新建shell來執行後面的while語句,a的值在新建shell中被改寫。
你這里 ls 的結果只有一條,所以while循環只執行一次就退出了,從新建shell回到原shell,a的新值不會被帶出來,還是"hehe"。
用輸入重定向來替換管道符就行了,例如可以這樣:
a="hehe"
whilereadline
do
a="wuwu"
echo"$a"
done<`ls-ltr`
echo"$a"
I. 關於shell腳本變數設定的問題
#!/bin/bash
#來自DZ動力(verydz.com),代碼第二行改為如下試下
a="+-*/"
set-f
J. 如何在shell腳本中使用變數
首先定義變數,然後使用變數
假設你定義了
VAR=5
然後你就可以使用這個VAR變數了
echo $VAR
顯示的就是5
具體可以看下這個
http://www.360doc.com/content/14/0918/12/9075092_410412465.shtml