Linux小白日记(三)shell基础知识篇

Linux小白日记(三)shell脚本

Shell是linu系统重要的组成部分之一,也是我们平常得力的助手。

Shell语法

 

1.所有shell脚本的第一行的固定格式,#!/bin/sh(bash);这其实是告诉机器如何解析这个脚本。

 

2.shell变量

shell中的变量没有类型一说,所以不用申明,直接赋值就行,赋值格式:greet=hello,即把hello赋值给greet。在引用变量时,变量前需要加美元符$,引用格式:echo “$greet”,或者是echo “${greet}”。

 

特殊用法例子:

echo:是输出的意思;类似于printf,可以在linu命令行直接输出;

a=1

b=2

c=hello

 

echo “a=”$a

echo “b=”$b

echo $c

 

d=$((a+b))         #d=a+b=3

 

echo “a+b=”$d         #a+b=d=3

 

shell变量表达式

 

$[#string]          #判断字符串长度

$[string:number1:number2]   #截取字符串从number1到number2之间的字符

$[string#str]    #从开头删除string变量中str的子字符串

$[string%ing]   #从结尾删除string变量中ing的子字符串

 

3.shell中的判断(test和[])

test和[]都能用于判断,不同的是[]需要前后里外都要加空格,不然运行脚本时会报错;

 

几个常用的参数:

-lt     小于                                                                 -a      并且

-le     小于等于                                                        -o      或者

-gt    大于                                                                 !        非

-ge   大于等于

-eq   等于

-ne   不等于

举个例子

#!/bin/bash

if test $1 –gt 0

then

echo “$1是正数”

fi

 

#!/bin/bash

if [ $1 –gt 0 ]

then

echo “$1是正数”

fi

 

4.shell 中的if,case语句

如3的例子,if的格式是:

if+判断表达式

then

elif+表达式

then

fi

 

先介绍几个参数:

-f       存在且是普通文件

-d      存在且是目录

-s      存在且字节数大于0

-r      存在且可读

-w     存在且可写

-x      存在且可执行

 

举个例子:

if [ -d mydoc ]

then

         cdmydoc

         touch1.doc

fi

#如果存在mydoc,则进入mydoc创建一个1.doc的文件

#脚本运行完毕后都会退回当前目录,所以虽然cdmydoc,但是运行结束后还是会返回当前目录的。

 

case语句格式:

case ‘$1’ in

[A-Z] ) echo “capital letter”;;

 [a-z]) echo “lowercase letter”;;

* ) echo “unknown”;;

esac

如果出现输出不正确则要修改环境变量:esport LANG=C。

 

5.shell中的循环语句

shell中的循环语句与c中的循环语句十分的相似;

a.while语句

格式:

while条件

do

语句

       done

举个例子

#!/bin/bash

 

i=$1

j=$2

 

while [ $i -le $j ]

do

       sum=$((i+sum))

       ((i++))

done

 

echo “sum is ”$sum

 

b.until语句

格式:

unti+条件

do

语句

done

举个例子:

i=$1

j=$2

sum=0

 

until [ $1 –eq $j ]

do

       sum=$((sum+i))

       ((i++))

done

 

echo “sum is ”$sum

 

c.for 语句

格式:

for +变量in列表

do

语句

done

举个例子:

#!/bin/bash

 

for x in $(sep 1 100);

do

echo $x

done

#输出1-100

 

6.shell中的函数结构

[function] funcname()

{

语句

[return 返回值]

}

返回值是可选项,如果没有显示return,则是默认返回最后一条语句执行的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值