linux中shell脚本的浅析

Linux中的shell到底是什么?

Shell的含义:

首先shell的英文含义是壳

它是相对于内核来说的,因为它是建立在内核的基础上,,面向于用户的一种表现形式,比如我们看到一个球,见到的是它的壳,而非核。

Linux中的shell,是指一个面向用户的命令接口,表现形式就是一个可以由用户录入的界面,这个界面也可以反馈运行信息。

Shell在linux中的存在形式

由于linux不同于windows,linux是内核与界面分离的,他可以脱离图形界面而单独运行,同样也可以在内核的基础上运行图形化的桌面。

这样,在linux系统中,就出现了两种shell表现形式。一种是在无图形化界面下的终端运行环境下的shell,另一种是桌面上运行的类似Windows 的MS-DOS运行窗口,前者我们一般习惯性地简称为终端,后者一般直接称为shell

 

Shell如何执行用户的命令

Shell有两种执行命令的方式,第一种方法是用户事先编写一个sh脚本,内含shell脚本,然后使用shell程序执行该脚本,这种方式我们习惯称为shell编程。

第二种形式,则是用户直接在shell页面上执行shell命令,由于shell界面的关系,大家都习惯一行行的书写。很少写出成套的程序来一起执行,。所以也称命令行。

 

运行shell的两种方式 脚本文件为  test.sh

第一种:chmod +x ./test.sh

第二种:/bin/sh test.sh

 

输入语句:echo 变量名/常量

变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:

  • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
  • 中间不能有空格,可以使用下划线(_)。
  • 不能使用标点符号。
  • 不能使用bash里的关键字(可用help命令查看保留关键字)。

Readonly  只读变量

day02="zheshizhidubianlaing"

readonly day02

day02="woxianggaibianni" 没有注释掉之前是输出est.sh: line 10: day02: readonly variable

#day02="woxianggaibianni"

echo $day02

输出:zheshizhidubianlaing

 

使用 unset 命令可以删除变量。语法:

day03="niyaoshanchuwoma"

unset day03

echo $day03

单引号

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

单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用

双引号

双引号里可以有变量

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

双引号拼接字符串

day04="runob"

greeting="hello,${day04}"

echo $greeting    -----hello,runob

 

单引号拼接字符串

day05='runobbbbb'

greeting_1='hello,${day05}'

echo $greeting_1   ----hello,${day05}

 

获取字符串长度:

day06="nikankanwoduochang"

echo ${#day06}

 

截取字符串

day07="helloword"

echo ${day07:1:4}

从第2个开始截取,一共截取4位

 

查找字符串位置:

day08="chazhaozifuchuan"

echo `expr index "${day08}" zo`   --4

 

数组

数组名=(value1 value2 value3 value4....)  下标从0开始

arr=(1 2 3 44  556 65 6 667 7 77 )

echo ${arr[@]}  ---1 2 3 44 556 65 6 667 7 77

@表示将数组中的元素全部取出

 

注释:

#表示单行注释

:<<! 要注释的内容 !

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值