Linux——脚本

先利用脚本语言打印一个hello world   代码如下

#!/bin/bash

str= hello
val=100
mystr="hello world"
exit 0

注意:这里字符串如果中间使用空格那么要用双引号把字符串括起来

如果输出下图所示 则表示该脚本语言没有权限,它的权限需要修改

修改脚本权限的命令如下

chmod u+x my.sh


/bash为解释器

编程语言可以分为编译型和解释型

编译型:  C语言  c++

解释型:  脚本

脚本语言为弱语言


1变量 本地变量 环境变量 参数变量

环境变量:shell进程的环境变量可以从当前shell进程传给fork出来的子进程。

本地变量:只存在于当前shell进程

写出如下脚本代码

read line
echo "$line=line"
echo"$PATH"
echo "pid=$$"
echo "num=$#"
echo "\$0=$0"
echo "\$1=$1"
echo "\$2=$2"

产生的结果为 

因为没有3所以abc没打印出来

$$表示pid的号  $#表示有几个命令 $0 是脚本文件的名字  

read是读取键盘打印的数据

2条件语句

先写一个判断一个数字是否等于123

echo "input"
read line

if test "$line" = 123
#if [ "$line" = "123" ]
then
	echo " true"
else
	echo "false"
fi

再写一个数字是否属于10到20

echo "input"
read line

if test "$line" = 123
#if [ "$line" = "123" ]
then
	echo " true"
else
	echo "false"
fi
在写一个根据数字评级的

if [ "$line" -ge 100 ]||[ "$line" -le 0 ]
then
	exit 1
fi
if [ "$line" -ge 80 ]
then
	echo "A"
elif [ "$line" -ge 60 ]
then
	echo "B"
else [ "$line" -ge 40 ]
	echo "C"
fi

现有如下代码

for i in hello abc
do
	echo "i=$i"
done
输出结果为

如果给hello abc加上双引号那么输出hello abc

双引号是弱引用 单引号是强引用直接输出单引号里的东西

let"i+=1"等于i='expr$i+1'

写一个输入密码的代码

#!/bin/bash
i=0
while [ : ]
do
	read line
	if [ "$line" = "123" ]
	then
	  echo "ok"
	break
	fi
	i='expr $i+1'

	if [ "$i" = "3" ]
	then
	  echo "fail"
	exit 0
	fi
done

结果如下

脚本中有类似C语言中case的

用法

代码

echo "input:"
read line1
case $line1 in
[Yy][Ee][Ss]|[Yy])
echo "yes";;
no)echo "no";;
*) echo "***";;
esac


结果如下图


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值