中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用sh腳本命令

發布時間:2021-10-11 17:40:57 來源:億速云 閱讀:549 作者:iii 欄目:編程語言

這篇文章主要講解了“如何使用sh腳本命令”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何使用sh腳本命令”吧!

  1. #!/bin/bash 文件第一行,提示電腦后面的代碼需要用 /bin/bash 來解讀

  2. echo 輸出內容,

  3. param=$(cat ./test.txt) 變量賦值,參數名\等號\值,三個之間不能有空格,如果需要得到某夠命令獲取的信息作為值,都可以用這種方式,變量=$(命令);

  4. 變量賦值單引號與雙引號的區別,單引號不會轉義內容,雙引號會轉義內容;

  5. 變量的使用 $param或者 ${param}即可使用;

  6. 獲取用戶輸入值

	echo "請輸入你想要輸入的值"
	read inputValue
	echo $inputValue 		#這里打印出來的就是用戶輸入的值
	param=$inputValue	#這里將用戶輸入的值賦給了param
	echo $param 				#這里打印出來的也是用戶輸入的值

如何使用sh腳本命令

  1. sh 下標傳入參數 sh ./test.sh a b

#!/bin/bash
echo $0 # test 執行的文件名
echo $1 #a 第一個參數
echo $2 #b 第二個參數 可以繼續寫
echo $# #2 	傳遞到腳本的參數個數
echo $* #a b 以一個單字符串顯示所有向腳本傳遞的參數
echo $$ # 當前的進程號
echo $! #d 后臺運行的最后一個進程號
..

如何使用sh腳本命令

  1. getopts sh腳本傳參數方法,如:test.sh -a 1 創建腳本 test.sh

#!/bin/bash
while getopts "a:w:p:n" arg; #這里設定了參數必須是-a;-w;-p;-n這幾個參數名,后面的冒號表示必須傳入參數
do
	case $arg in
		a ) #所有版本號統一
			parms1="$OPTARG"
		;; 
		w ) #前端版本號
			parms2="$OPTARG"
		;;
		p ) #php版本號
			parms3="$OPTARG"
		;;
		n ) #最新版本號
			parms4=1
		;;
		? )
		echo "未知參數: -a; -w ; -p ; -n "
		exit
	esac
done

例如執行 sh ./test.sh -a 1 可以選擇參數名-a 就必須傳入參數 1,-n則可以不用參數; 如何使用sh腳本命令

  1. 字符串的操作

param='abcd_';
param1="$param"'efgh' #拼接字符串,直接跟著寫即可 
echo $param1 		 #abcd_efgh
echo ${#param1} 	 #計算字符串長度 輸出 9
echo ${param1:1:4} 	 #截取字符串 從1號下標開始到4號結束 輸出 bcd_ 都知道下標從0開始的吧
echo ${param1#abcd_} #從左相右匹配截取剩下的字符串,注意必須從頭開始算,也就是說不能寫個d_開始匹配, 輸出efgh
echo ${param1#*_} 	 #從左相右匹配截取剩下的字符串*代表任意,類似 .* 輸出efgh
echo ${param1%gh} 	 #從右向左匹配截取剩下的字符串,注意必須從末尾開始算,也就是說不能寫個_e開始匹配, 輸出 abcd_ef
echo ${param1%_*} 	 #從右向左匹配截取剩下的字符串*代表任意,類似 .* 輸出abcd_ef
echo ${param1:0-4} 	 #從右向左匹配2個,截取 輸入 efgh
echo ${param1:0-4:2} #從右向左截取4個,然后在從這4個中,從左向右截取2個 輸出 gh
  1. 數組

array=(a b c d) #數組的定義
echo ${array[*]} 或 echo ${array[@]} #輸出數組全部值 a b c d
echo ${array[0} # a 下標式輸出
  1. 數字的運算,必須用 “`”這個符號包起來,這不是單引號,是反引號

echo `expr 1 + 1 `  #加
echo `expr 2 - 1 `  #減
echo `expr 2 \* 2` #乘
echo `expr 4 / 2 ` #除
echo `expr 5 % 2 ` #取余數
let a=1+1
let b=2-1
echo $a $b  # let 定義一個或多個表達式
  1. if流程控制

if [  ] ;#條件,注意空格
then  	#執行
elif	#條件
then	#執行
else 	#否
fi 		#結束標簽

 ! 	# 非 if [ $a !$b ]
 -a 	#and 與   if [ $a -a $b ]
 -o 	#or 或  if [ $a -o $b ]
 &&     # AND 
 || 	# OR
 
 數字的比較
 -eq	#檢測兩個數是否相等
 -ne	#檢測兩個數是否不相等
 -gt	#檢測左邊的數是否大于右邊的
 -lt	#檢測左邊的數是否小于右邊的
 -ge	#檢測左邊的數是否大于等于右邊的
 -le	#檢測左邊的數是否小于等于右邊的
 
 字符串的比較
 =	檢測兩個字符串是否相等
 !=	檢測兩個字符串是否不相等
 -z	檢測字符串長度是否為0
 -n	檢測字符串長度是否不為 0
 $	檢測字符串是否為空
 
 文件夾比較
 -e 判斷對象是否存在
 -d 判斷對象是否存在,并且為目錄
 -f 判斷對象是否存在,并且為常規文件
 -L 判斷對象是否存在,并且為符號鏈接
 -h 判斷對象是否存在,并且為軟鏈接
 -s 判斷對象是否存在,并且長度不為0
 -r 判斷對象是否存在,并且可讀
 -w 判斷對象是否存在,并且可寫
 -x 判斷對象是否存在,并且可執行
 -O 判斷對象是否存在,并且屬于當前用戶
 -G 判斷對象是否存在,并且屬于當前用戶組
 -nt 判斷file1是否比file2新  [ "/usr/test1.txt" -nt "/usr/test2.txt" ]
 -ot 判斷file1是否比file2舊  [ "/usr/test1.txt" -ot "/usr/test2.txt" ]
  1. for 循環

param=(1 2 3 4 5 6 7 8)

for i in ${param[*]} # 這個in后面的要是輸出的形式展示
do 
	echo $i # 1 2 3 4 5 6 7 8
done
  1. while 循環

i=1
while(( $i<7 )) #當這個條件成功,則不在執行
do
	echo $i
	let "i++"  # 1 2 3 4 5 6
done
  1. break 跳出循環整個循環體都不在執行,continue 跳過本次循環繼續下一個循環,exit 結束腳本;

  2. 函數方法

#定義函數
function name(){
	return 1
}
name(){}
name 1 2 #函數調用,(1,2)是傳入的參數
param=$? #獲取函數renturn回來的值
echo $param #2 函數返回的值

感謝各位的閱讀,以上就是“如何使用sh腳本命令”的內容了,經過本文的學習后,相信大家對如何使用sh腳本命令這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荆州市| 鹿邑县| 永胜县| 龙海市| 张家口市| 呼伦贝尔市| 宜良县| 吴旗县| 屏山县| 嘉善县| 南木林县| 达孜县| 馆陶县| 宁津县| 茶陵县| 怀化市| 舟曲县| 盘锦市| 布尔津县| 昭平县| 华蓥市| 黄龙县| 峨山| 奈曼旗| 依安县| 宁城县| 道真| 周至县| 九江市| 江源县| 海宁市| 奉节县| 日喀则市| 宁津县| 班戈县| 江津市| 新巴尔虎右旗| 长沙市| 宁城县| 马关县| 蒲江县|