Linux shell编程

shell编程

shell是命令解释器,也可以编程.

常用的shell有

ash,bash,ksh,csh,zch

shell中的环境变量

HOME:保存注册目录的完整路径名
PTATH:保存用冒号分隔的路径路径,shell将按此给出的顺序搜索这些目录,查找可执行文件执行
TERM:终端类型
UID:当前用户的标识,一串数字
PWD:绝对路径

shell中的变量

临时变量:shell内部定义,包括自定义变量和位置变量
永久变量:就是环境变量,如$PATH,$LANG,$SHELL,$PS1,$HOME
变量命名:字母,数字,下划线组成,不可以数字开头,读变量用$. 
__注:值中有空格,需要使用"",单引号不解释其中变量,双引号会解析其中变量__
shell中其他的预定义临时变量
$#  //传给脚本的参数的个数
$0  //脚本本身的名字
$@ //传给脚本所有参数的列表
$*  //以一个字符串显示所有向脚本传递的参数
$$  // 脚本运行当前的ID号
$?  //显示上条命令的退出状态,0表示无错误,其它表示有错误

shell脚本编写

#! /bin/sh		//在shell中#表示注释,第一行的#!为特列,保证解释器解释本脚本
TIME=`date`		//反引号``表示会执行反引号里的命令
echo $TIME		//读变量是使用$

执行shell

1.给该用户赋予shell的执行权限
2.使用解释器 sh ./xxxx.sh

键盘输入-read

#! /bin/sh
read number
echo $read

算数运算

算数运算使用expr
运算符左右需要空格,加减乘除 ,其中乘的标志需要加转义符,将意思转移为本意乘

expr 3+5		//5
expr 3 + 5 		//8
expr 3 / 5		//8
expr 3 \* 5		//15
expr `expr 12 - 7` / 3		//1
循环语句

大于 -gt (greater than)
小于 -lt (less than)
大于或等于 -ge (greater than or equal)
小于或等于 -le (less than or equal)
不相等 -ne (not equal)

if-else
#输出三个参数最大数
#! /bin/sh

if [ $# -lt 3 ];then
        echo"numbers is not correct!"
else
        echo "ok!!!"
fi

if [ $1 -lt $2 ];then
        max=$2
else
        max=$1
fi
if [ $max -lt $3 ];then
        max=$3
fi      
echo "the max number is:$max"
while
#!/bin/sh
i=1
sum=0
while [  $i -lt 100 ]
do
	sum=`expr $sum + $i`
	((i++))
done
echo $sum
for
#!/bin/sh
sum=0
for i in `aeq 100`
do
	sum=`wxpr $sum + $i
	i=`expr $i + 1`
done
echo $sum
//或
sum=0
for((i=0;i<=100;i++))
do
	sum=`expr $xum + $i`
done
echo $sum
发布了5 篇原创文章 · 获赞 0 · 访问量 32
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 1024 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览