標簽:eai 提示符 用戶自定義變量 計算 case $@ case語句 shell 查看
安裝
javaee
jdk
mysql
apache
ideaIU
shell编程 x.sh脚本
格式要求:
1.腳本以#!/bin/bash開頭
2.腳本要有可執行權限
vim hello.sh
寫上:
echo "hello,world"
保存退出
sh hello.sh
chmod u+x hello.sh
./hello.sh
完成
shell變量
分系统变量和用戶自定義變量
系統變量:set查看
自定義變量:
定義:變量名=值
撤销变量:unset 变量名
聲明靜態變量:readonly變量,不能unset
vim var.sh
A=100
echo A=$A
echo "A=$A" 一样地输出
unset A
echo A=$A 输出A=
readonly B=2
unset B 会报错...
規則:
變量名不能數字開頭,等號兩邊不能有空格,變量名習慣大寫
A=date
反引號,運行date命令,將結果返回變量A
設置環境變量
export 变量名=变量值 (将shell變量输出为环境变量)
source 配置文件 (让修改后的配置信息立即生效)
echo $变量名 (查询环境变量的值)
位置參數變量
./myshell.sh 200 400 要获取200和400
echo "0=$0 1=$1 2=$2"
echo "所有的参数=$*"
echo "所有的参数=$@"
echo "参数个数=$#"
運算符
RES1=$[(2+3)*4]
echo "res1=$RES1"
RES2=$[$1+$2]
echo "res2=$RES2"
判斷語句
if [ -f /home/ldt/myshell/add.sh ]
then
echo "yes"
elif
echo "no"
fi
case語句
case $1 in
"1")
echo "asdf"
;;
"2")
echo "fdsa"
;;
*)
echo "?"
;;
esac
for
$*會把輸入的參數當作一個整體
$@會將參數分開
for i in "$*"
do
echo "num is $i"
done
echo "------------------"
for j in "$@"
do
echo "num is $j"
done
SUM=0
for(( i=$1; i<=$2; i++))
do
SUM=$[$SUM+$i]
done
echo "总和SUM=$SUM"
read讀取控制台輸入
read(選項)(參數)
選項:-p:指定讀取時的提示符;-t:指定讀取值時等待的秒
read -p "输入NUM1=" NUM1
echo "NUM1=$NUM1"
read -t 10 -p "输入NUM2=" NUM2
echo "NUM2=$NUM2"
系統函數
basename /home/aaa/test.txt
text.txt
dirname /home/aaa/test.txt
/home/aaa
自定義函數
[ function ] funname[()]
{
Action;
[return int;]
}
計算输入连个数的和
function getSum(){
SUM=$[$n1+$n2]
echo "和是$SUM"
}
read -p "请输入n1和n2" n1 n2
getSum $n1 $n2
標簽:eai 提示符 用戶自定義變量 計算 case $@ case語句 shell 查看
原文地址:https://www.cnblogs.com/li-zi-feng/p/14776299.html