标签: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