首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

shell脚本入门so easy

Shell 主要用来开发一些实用的、自动化的小工具,而不是用来开发具有复杂业务逻辑的中大型软件,例如检测计算机的硬件参数、一键搭建Web开发环境、日志分析等,Shell 都非常合适。Shell脚本,在日常工作中经常需要用到,网上的学习资料也有很多,如果之前没有接触过,想先入门的同学,这篇文章就可以满足你~

1

创建shell脚本

vi test.sh这样就建立了名为test的shell脚本

第一行显示:#!/bin/bash

2

shell变量

第一行是定义变量a,并且赋值为10;

变量还可以这样定义:your_name="xiaoniao.com",your_name就是变量名称,后边是变量的赋值;

第二行是输出打印语句,将变量a的值打印输出;还可以这样写: echo $

其中,打印变量的时候是否带有花括号{}均可,带花括号的形式一是可以养成良好的书写习惯,第二就是当要打印输出的内容较多时,区分哪个是变量,以便输出;

只读变量:readonly

readonly your_name代表your_name变量是只读的,这个时候如果要输出这个变量,执行会有错误提示:

删除变量:unset

例如:unset a使用unset命令删除变量,删除后这个变量不能再次使用;

如果这个时候执行输出变量a,实际没有任何结果;

*注意:unset命令不能删除只读变量

3

Shell字符串

单引号:str=’this is a apple’

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

单引号字符串中不能出现单引号(转义符后也不可以出现)

双引号:str=” this is a apple2”

双引号里可以用变量

双引号中可以出现转义字符

查找子字符串:

string=”today is a good day”

echo expr index “$string” is

4

echo命令

echo是shell的一个内部指令,用于在屏幕上打印指定字符串

echo “\”it is a bug\””

结果是:”it is a bug”

显示换行:

echo “OK!\n”

echo “it is a bug”

输出:

OK!

it is a bug

显示不换行:

echo “OK!\c”

echo “it is a bug”

输出:

OK!it is a bug

5

If else语句

If …else 语句的语法:

If expression

then

statement to be executed expression is true

fi

举例:

#!/bin/bash

a=10

b=20

if [ $a == $b ]

then

echo "a is equal to b"

fi

if [ $a != $b ]

then

echo "a is not equal to b"

fi

结果输出:a is not equal to b

当然还有if..else..fi语句;If…elif…fi语句;格式同If …else 语句基本一致

6

for循环

Shell中也有循环等条件语句,如:

for循环:for loop in 1 2 2 3

do

echo "$loop"

done

固定的格式:

for … in …

do

Done

7

while循环

例如:

While循环:int=1

while(($int

do

echo $int

let "int++"

done

8

执行shell脚本

两种执行方式:

第一种是先赋予执行权限,然后./shell文件执行;

第二种是直接sh命令执行;两种方式均可执行;

chmod +x ./hello.sh ./hello.sh

在脚本的路径下执行:bash hello.sh或者是sh hello.sh

练习:应用本文中命令,编写一个简单的shell脚本:利用循环计算10的阶乘

经过上面的简单介绍,基本可以自己写一个shell脚本试试了哦,快来体验一下吧!

Qtest是360旗下的专业测试团队!

是WEB平台部测试技术平台化、效率化的先锋力量!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180207G0U00G00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券