标签:bin 变量 SUM echo 命令 sh Linux bash
安装
javaee
jdk
mysql
apache
ideaIU
shell编程 x.sh脚本
格式要求:
1.脚本以#!/bin/bash开头
2.脚本要有可执行权限
vim hello.sh
写上:
!/bin/bash
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
!/bin/bash
echo "0=$0 1=$1 2=$2"
echo "所有的参数=$*"
echo "所有的参数=$@"
echo "参数个数=$#"
运算符
!/bin/bash
RES1=$[(2+3)*4]
echo "res1=$RES1"
RES2=$[$1+$2]
echo "res2=$RES2"
判断语句
!/bin/bash
if [ -f /home/ldt/myshell/add.sh ]
then
echo "yes"
elif
echo "no"
fi
case语句
!/bin/bash
case $1 in
"1")
echo "asdf"
;;
"2")
echo "fdsa"
;;
*)
echo "?"
;;
esac
for
$*会把输入的参数当作一个整体
$@会将参数分开
!/bin/bash
for i in "$*"
do
echo "num is $i"
done
echo "------------------"
for j in "$@"
do
echo "num is $j"
done
!/bin/bash
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;]
}
计算输入连个数的和
!/bin/bash
function getSum(){
SUM=$[$n1+$n2]
echo "和是$SUM"
}
read -p "请输入n1和n2" n1 n2
getSum $n1 $n2
标签:bin,变量,SUM,echo,命令,sh,Linux,bash 来源: https://www.cnblogs.com/li-zi-feng/p/14776299.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。