Ⅰ 用shell讀取一個配置文件,文件裡面如果設置兩個變數,又如何用shell讀取這兩個變數
你不用讀取這個配置文件, 直接載入文件即可。
如在param中定義了
A=1
B=3
你需要在myshell中獲取param文件中的變數, 可以這樣寫
. /PATH/param (或者source /PATH/param)
echo $A $B
Ⅱ shell腳本怎樣讀取文件的值,並賦值給變數
在sell腳本中,讀取鍵盤輸入的內容並將其賦值給shell變數的命令為:
read -p "input a val:" val echo $val
read - 從標准輸入讀取數值。這個 read 內部命令被用來從標准輸入讀取單行數據。這個命令可以用來讀取鍵盤輸入,當使用 重定向的時候,讀取文件中的一行數據。
它的語法形式一般是:
read [-options] [variable...]
(2)shell使用文件中的變數擴展閱讀:
Shell是一種腳本語言,常見的腳本解釋器有:
bash:是linux標准默認的shell。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的縮寫,內部命令一共有40個。
sh: 由Steve Bourne開發,是Bourne Shell的縮寫,sh 是Unix 標准默認的shell。
常見的編程語言分為兩類:一個是編譯型語言,如:c/c++/java等,它們遠行前全部一起要經過編譯器的編譯。
Ⅲ 如何在shell腳本中使用變數
變數的定義,只能以字母和下劃線開始,區分大小寫,可以包含數字 字母下劃線.詳見官方手冊
復制代碼代碼如下:
[root@svn shell_example]# yourname='Linux'
[root@svn shell_example]# echo $yourname
Linux
[root@svn shell_example]# YourName="linux"
[root@svn shell_example]# echo "The variable is $YourName"
The variable is linux
獲取當前日期的腳本,常用在日誌切割中,為了區分每天的日誌文件
如下 生成2015年4月27日
復制代碼代碼如下:
[root@svn shell_example]# echo `date +%Y%m%d`
20150427
[root@svn shell_example]# cat today.sh
#!/bin/bash
TODAY=`date +%A`
YEAR=`date +%Y年%m月%d日`
echo "今天是 $YEAR, $TODAY"
[root@svn shell_example]# sh today.sh
今天是 2015年04月27日, 星期一
從鍵盤獲取用戶的輸入,如下腳本執行後腳本直接等待用過戶輸入,直到用戶輸入完成 並回車,腳本獲取到用戶的輸入並將結果列印出來.
復制代碼代碼如下:
[root@svn shell_example]# cat var.sh
#!/bin/bash
read myvar
echo "myvar is $myvar
執行結果如下
[root@svn shell_example]# sh var.sh
Linux
myvar is Linux
[/code]
帶提示信息的從鍵盤獲取用戶輸入
復制代碼代碼如下:
#!/bin/bash
#從鍵盤獲取用戶信息,並列印出來.
echo -n 'Enter Your Name:' #-n 選項表示不換行.
read name
echo "Hi $name"
sh name.sh
Enter Your Name:linux
Hi linux
升級版腳本,此腳本成功的接受了用戶的2個參數 姓和名字,並將輸入列印在屏幕上
代碼內容如下
復制代碼代碼如下:
[root@svn shell_example]# cat firstname.sh
#!/bin/bash
pw="123"
echo
echo "+========用戶登錄=========+"
echo
echo -n "請輸入您的用戶名: "
read fname lname
echo -n "請輸入您的密碼: "
read passwd
echo "尊敬的會員$fname $lname,您好!您已登錄成功"
[root@svn shell_example]# sh firstname.sh
Ⅳ shell如何讀取文件中變數值
|1
2
3
4
5
6
#!/bin/bash
#使用方法:內./script.sh filename
a=$(sed -n '$p' $1 |容 awk -F"," '{print $1}')
b=$(sed -n '1!P;N;$q;D' $1 | awk -F"," '{print $1}')
echo $a
echo $b
Ⅳ 請教大神shell的for in語句中怎麼使用多個變數
如果是bash,,可以用自for (( expr1; expr2; expr3 )) 這種循環語法來實現。比如for (( i=1, j=7; i<5 && j >3; i++, j-- )),do,,echo "i $i, j $j",done。注意變數名內稱的第一個字元容不可以是數字,但是可以是下劃線。要使用變數的值,在變數前面加上$符號即可。
使用% :%表示參數,參數是在運行批處理文件時在文件名後加的字元串。變數可以從 %0到%9,%0表示文件名本身,字元串用%1到%9順序表示。
(5)shell使用文件中的變數擴展閱讀
shell腳本中的if多條件語句
在shell中條件語句是「if-then」,if語句後面是一個命令執行度結束的退出狀態碼是0,則執行then部分的命令,否則then不執行;fi是if的結束標志。if語句的嵌套使用和其他語言基本一致,直接在if中繼續使用if語句即可。
嵌套的層數沒有限制,但最好不要過多的層數,這樣會讓代碼顯得比較混來,難以理解,多個版條件判斷使用「ifthen-elifthen」,這里和其他編程語言不同,最後可以加else也可以不加else。