大数据常用Shell脚本(一)

本文详细讲解了Linux系统变量如$HOME和自定义变量的设置规则,包括环境变量命名规范、普通变量与静态变量的区别,以及运算符、条件判断和循环的使用实例。还介绍了特殊变量如 $#、$0等的用法和运算符的不同表达方式。
摘要由CSDN通过智能技术生成

一、系统变量

$HOME
$USER
$PWD
$SHELL

二、自定义变量

  1. 定义变量(a=2),变量名由数字、字母、下划线;
    1.1 环境变量名建议用大写字母,JAVA_HOME
    1.2 等号两侧不能有空格
    1.3 变量默认都是字符串,无法直接进行数值运算
    1.4 变量的值有空格,建议用双引号
  2. 撤销变量(unset a)
  3. 声明静态变量(readonly a=2),不能被撤销
# 1、定义普通变量,输出1
a=1
echo $a
# 2、撤销变量,输出为空
unset a
echo $a
# 3、定义静态变量,不可撤销,否则报错!
readonly b=2
echo $b
# 4、定义全局变量,在外部也可以使用$c
export c=3
echo $c
# 5、变量值默认都是字符串,输出是1+1
d=1+1
echo $d
# 6、定义很长的字符串
e="sorry,you are a good man"
echo $e

三、特殊变量

  1. $#获取变量个数
  2. $0获取脚本名称
  3. $1获取第一个参数
  4. ${10}获取第十个参数,参数有两位数时,需要使用{}
  5. $*获取全部参数,当成一个整体(在for循环与下面有区别)
  6. $@获取全部参数,分开对待(在for循环与上面有区别)
  7. $?最后一次执行命令的返回状态,只有为0才代表成功。
echo "输入的参数个数为:$#"
echo "脚本名称为:$0"
echo "第一个参数为;$1"
echo "第十个参数为:${10}"
echo "全部参数为:$*"
echo "全部参数为:$@"
echo "执行成功了吗?$?"

四、运算符

#1、方式一 $((运算表达式))
$((2+3))
$(((2+3)*4))
#2、方式二(推荐) $[运算表达式]
$[(2+3)*4]
#2、方式二(不推荐,要转义,而且运算符前后需要加空格)
expr `expr 2 + 3` \* 4

五、条件判断

#语法:[ condition ],注意前后有空格,条件非空即为true
if [ -e /home/haha.txt ]
then
	echo "存在文件/home/haha.txt"
#then不换行,必须加;
elif [ 23 -ne 22 ];then
	echo "23不等于22"
#多条件判断
elif [ 23 -ge 22 ] && [ -d /home/haha.txt ] || [ -f /home/haha.txt ]
then
	echo "多条件判断正确"
fi

六、循环

#for循环方式一
s=0
for((i=0;i<=5;i++))
do
        s=$[$s+$i]
done
echo $s

#for循环方式二
for i in "$@"
do
        echo "$i"
done

#while循环
w1=0
w2=0
while [ $w1 -le 5 ]
do
        w2=$[$w2+$w1]
        w1=$[$w1+1]
done
echo $w2
echo $w1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值