linux shell 简单用法

linux shell 简单用法

一,linux shell 基本介绍

二,linux shell 基本用法

2.1基本语法

2.1.1Shell命令行书写规则
1,在执行Shell命令时多个命令可以在一个命令行上运行,但此时要使用分号(;)分隔命令.
2,长Shell命令行可以使用反斜线字符()在命令行上扩充

echo &pwd
mkdir test1 \
|| cd test1
echo &pwd

2.1.2Shell程序中使用的参数
1,位置参数
由系统提供的参数称为位置参数。位置参数的值可以用 NN1 1。类似C语言中的数组,Linux会把输入的命令字符串分段并给每段进行标号,标号从0开始。第0号为程序名字,从1开始就表示传递给程序的参数。如 0 1表示传递给程序的第一个参数,以此类推。
2,内部参数
上述过程中的 0 1则可有可无,最常用的内部变量有 0 #、 ? *,它们的含义如下。
$0: 含命令所在的路径。
$#: 传递给程序的总的参数数目。
$?: Shell程序在Shell中退出的情况,正常退出返回0,反之为非0值。
$*: 传递给程序的所有参数组成的字符串。
3,

2.2条件语句

2.2.1if语句
2.2.3if语句的特殊用法
if 语句的判断可以使用表达式,例如test函数
2.2.4if 语句未归类用法
1,[]判断表达式
判断表达式可以用上述的test函数代替,这里不讨论test函数;[]表达式的内容比较多.只能先描述现用的,具体的以后再补充.

if [ "$1" = "-t" ]
    then
        if [ -n "$2" ]; then
        timer=$2
        fi
fi

上述例子中国,第一个[]表达式表示如果第一个参数是”-t”就执行then后语句;第二个表达式表示如果存在第二个参数,就执行then后语句把第二个参数的值给timer(这是个简单的例子,没有做保护).
现在讨论下第一个[]表达式,为什么要用”“;如果用[ $1 = -t ],当有第一个参数的时候,该shell脚本正常执行,当没有第一个参数的时候,该shell脚本会报错,原因(推测)shell脚本是解释型语言,当执行到

[ $1 = -t ]

发现$1 没有,就把上面那句解释为=-t,因此报错.

2.3循环语句

2.3.1while循环
下例简单了做了一个循环,功能是说没10秒打印一次date

timer=10;
while true;do
echo &date "+%B%d%A"
sleep $timer
done

三,linux shell 未归类用法

3.1linux的基本步骤

3.1.1编辑Shell程序
编辑一个内容如下的源程序,保存文件名为date
#!/bin/sh
timer=10;
while true;do
echo &date "+%B%d%A"
sleep $timer
done

注意:#! /bin/sh通知采用bash解释。如果在echo语句中执行Shell命令date,则需要在date命令前加符号“&”,其中%B%d%A为输入格式控制符。
3.1.2建立可执行程序
编辑完该文件之后不能立即执行该文件,需给文件设置可执行程序权限。使用如下命令:

u@ubuntue$chmod +x date

注意:上述命令的意思是赋予date文件可执行的权限
3.1.3执行Shell程序
执行Shell程序有下面三种方法:
方法一:

u@ubuntue$./date

方法二:另一种执行date的方法就是把它作为一个参数传递给Shell命令:

u@ubuntue$bash date

方法三:为了在任何目录都可以编译和执行Shell所编写的程序,即把/home/study的这个目录添加到整个环境变量中。

u@ubuntue$xport PATH=/home/study:$PATH
u@ubuntue$bash date

3.2linux shell 执行多个命令的几种方法

3.2.1每个命令之间用;隔开
说明:各命令的执行给果,不会影响其它命令的执行。换句话说,各个命令都会执行,
但不保证每个命令都执行成功。
3.2.2.每个命令之间用&&隔开
说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。
3.2.3.每个命令之间用||隔开
说明:||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功
一条命令为止。

echo &pwd
mkdir test1 && cd test1
mkdir test1 || cd test1
echo &pwd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值