linux shell 编程

1.创建文件

先创建一个 .sh 文件,然后还需要给予权限才能运行

# vim cmd.sh
# chmod 777 cmd.sh

2.接收参数

#!/bin/sh
str="一个变量"
echo $str
echo "参数个数:$#"
echo "参数1:$1, 参数2:$2, ...."
echo "所有参数:$*"
# ./cmd.sh 1 2 3 4
一个变量
参数个数:4
参数1:1, 参数2:2, ....
所有参数:1 2 3 4

#! /bin/sh,通知系统用/bin/sh来执行下面的程序。

echo代表输出后面一段话的到用户界面

str=“一个变量” 创建了一个变量,可以在下面使用(变量名和等号之间不能有空格)

$str,取出变量的值,有时候需要加${str},用来区别变量边界

$#,代表参数的个数

$* 代表所有的参数

$i(i=1,2,3,4......),可以依次取出所有参数,$i 代表第 i 个参数

3.shell中执行命令

#!/bin/sh
# `不是单引号,是 ESC 下面的那个符号
result=`ls /usr`
echo $result
# ./cmd.sh
bin etc games include lib lib64 libexec local sbin share src tmp

4.读取键盘输入

#!/bin/sh
echo "输入a:"
read a
echo "a=$a"
# ./cmd.sh
输入a:
123
a=123

read命令读取一个输入行,直至遇到换行符。

行尾的换行符在读入时将被转换成一个空字符

如果read命令后有变量名,输入内容赋给该变量。

如果read命令后未跟变量名,读入的行将被赋值给内置变量REPLY。

5. 字符串

单引号:单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的

双引号:双引号里面可以有变量,可以出现转义字符

字符串中间出现成对的单引号或双引号可以实现拼接字符串

6. if 语句(两种)

1.判断条件是否正确,test是一个关键字来判断condition是否正确

if (test condition) then
  commands
else
  commands
fi

2.判断文件或者文件夹是否存在

#中间内容和[]一定要用空格隔开,不然报错
if [ -option file ]; then
  commands
else
  commands
fi

#!/bin/sh
if [ -e "cmd.sh" ]; then
    echo "存在"
else
    echo "不存在"
fi

7.while 循环

while [ expr ];
do
  commands
done
#!/bin/sh
a=1
while [ $a -le 10 ]
do
    echo $a
    a=`expr $a + 1`# $a 和 1 与 + 号之间要用空格隔开
    #a=$[ $a + 1 ]
    #let ((a++))
    #let a+=1
done

打印出 1~10 的数, -le 表示小于等于 shell 运算符

8.for循环

for varname in list ;
do
  commands
done

每一次循环会将列表中的一个值取出放到varname中

9.函数

#!/bin/sh
function fun1
{
    echo "第一个参数:$1"
    echo "第二个参数: $2"
    return 100
}
fun1 1 2
echo "函数返回值:$?"

$?,用于取出上一个函数的返回值,也可以获取调用其他shell脚本的退出码

10.exit语句
 

#退出当前shell
exit 0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>