Shell位置變量&預定義變量的實現(xiàn)
一、位置變量:
1、位置變量語法:
命令 參數(shù)1 參數(shù)2 參數(shù)3.........9以后特殊定義
$0 $1 $2 $3 $4 $5 $6 $7 $8 $9 ....
2、示例:
需求:制定腳本程序,用戶自行輸入兩門學科成績(整數(shù)),自動算出平均分。
[root@localhost ~]# vim avg.sh #制作腳本 #!/bin/bash echo -n "平均成績是:" echo "($1+$2)/2" | bc [root@localhost ~]# chmod +x avg.sh #腳本授權(quán) [root@localhost ~]# ./avg.sh 60 70 #測試腳本 平均成績是:65
3、總結(jié):
- 1、位置變量就是$1,$2,$3,$4
- 2、位置變量預先已經(jīng)被定義過了。
- 3、用戶使用時,必須攜帶參數(shù)。
- 4、位置變量不是程序設計的唯一方法。比如read也可以。
二、預定義變量:
$0 腳本名/程序名
- $* 所有的參數(shù)
- $# 參數(shù)的個數(shù)
- $? 上一個程序的返回值(0是成功,非0失?。?/li>
- $$ 程序的PID
1、示例:
[root@localhost ~]# vim sum.sh #定義腳本 echo "用戶輸入的第1個參數(shù)是:$1 " echo "用戶輸入的第2個參數(shù)是:$2 " echo "用戶輸入的第3個參數(shù)是:$3 " echo "用戶輸入的第4個參數(shù)是:$4 " echo "用戶輸入的第5個參數(shù)是:$5 " echo "用戶輸入的第6個參數(shù)是:$6 " echo "該程序名為:$0" echo "該程序攜帶的所有參數(shù)是:$*" echo "該程序的參數(shù)個數(shù)是:$#" echo "該程序的進程號是:$$" [root@localhost ~]# ./sum.sh 11 22 33 44 55 66 77 88 99 #調(diào)用腳本 用戶輸入的第1個參數(shù)是:11 用戶輸入的第2個參數(shù)是:22 用戶輸入的第3個參數(shù)是:33 用戶輸入的第4個參數(shù)是:44 用戶輸入的第5個參數(shù)是:55 用戶輸入的第6個參數(shù)是:66 該程序名為:./sum.sh 該程序攜帶的所有參數(shù)是:11 22 33 44 55 66 77 88 99 該程序的參數(shù)個數(shù)是:9 該程序的進程號是:111298 [root@localhost ~]# echo $? 0
2、總結(jié):
1、這兩類變量,在設計系統(tǒng)時就已經(jīng)定義好了。
2、需要使用時,直接調(diào)用即可。
到此這篇關(guān)于Shell位置變量&預定義變量的實現(xiàn)的文章就介紹到這了,更多相關(guān)Shell位置變量&預定義變量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ubuntu編譯pyav報錯libx264?not?found解決示例
這篇文章主要為大家介紹了ubuntu編譯pyav報錯libx264?not?found解決示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09Shell實現(xiàn)程序造死循環(huán)的幾種方法示例
在linux下編程的程序猿都知道shell腳本,就算你不怎么熟悉,也應該聽過的吧!那在shell腳本中的死循環(huán)該怎么寫呢?下面這篇文章就來給大家介紹了關(guān)于Shell如何實現(xiàn)讓程序造死循環(huán)的幾種方法,需要的朋友可以參考下。2017-08-08