【Linux】一份基础的Shell 教程

举报
原来是咔咔 发表于 2022/03/27 23:36:19 2022/03/27
【摘要】    第一个shell脚本 1、第一行#!/bin/bash在说明这个script使用的shell名称,因为我们使用的是bash,所以必须用这个来声明,因为在程序执行时,它就能够载入bash相关环境配置文件,如果没有这一行,那么程序就会无法执行了 2、第二,三行是对整个程序的说明,除了第...

  

第一个shell脚本

1、第一行#!/bin/bash在说明这个script使用的shell名称,因为我们使用的是bash,所以必须用这个来声明,因为在程序执行时,它就能够载入bash相关环境配置文件,如果没有这一行,那么程序就会无法执行了

2、第二,三行是对整个程序的说明,除了第一行的#!是用来宣告shell的之外,其他的#都是注解的用途

3、第四、五行就是修改记录,时间,修改者,发布时间

4、第六行就是环境变量的宣告

5、第八行就是主要程序echo那一行

执行结果

 

Shell 变量

在PHP中定义变量是需要$符号的,但是在xhell中是不需要的

如:your_name="kaka"

这里需要注意的就是变量名跟等号之间是不能有空格的,必须得注意哈

(1)定义变量

变量名外面的花括号是可选的,加不加都行,加花括号是为帮助解释器识别变量的边界,比如下面这种情况

(2)只读变量

知道就行了,很少用到

 

(3)删除变量

 

shell字符串

(1)单引号

str='this is a string'

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

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

(2)双引号

双引号里可以有变量

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

(3)拼接字符串

这里可以看出来在单引号里边直接使用变量是不会解析的,只有在单引号里边的变量也带双引号才可以

(3)获取字符串长度

shell数组

(1)定义数组


array_name=(value0 value1 value2 value3) 

或者

array_name=(

value0

value1

value2

value3

)

或者

array_name[0]=value0

array_name[1]=value1

array_name[n]=valuen

(2)读取数组和获取所有元素

(3)获取数组的长度

shell传递参数

我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$nn 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……

shell运算符

(1)算数运算符

这里有俩个注意点

乘号(*)之前必须加反斜杠(\)才可以实现

还有一个是添加表达式的方括号(【】)等号俩边的变量必须留有空格,但是设置变量不需要,这点需要特别注意

(2)关系运算符

(3)布尔运算符

(4)逻辑运算符

(5)字符串运算符

(6)文件测试运算符

这个的运用简单的说一下,其他的跟数字运算符是一样的

shell echo命令

shell的echo 跟PHP的echo指令类型,格式为

echo string

(1)显示普通字符串,读取变量,显示换行,显示时间

shell流程控制

(1)if else if 语句

但是呢!if语句一般是跟着test指令来使用的,test指令在以前的文章写过,文章底部会有连接使用

test指令是用于检测某个条件是否成立

(2)for循环

(3)while语句

(4)无限循环

(5)until循环

until循环执行一系列命令直至条件为true时停止

until循环与while循环在处理方式上刚好相反

一般while循环优于unitl循环,但是也在某些极少数下,unitl循环更加有用

(6)case语句

shell函数

shell的函数跟php的是差不多的,可以先来看一个案例

(1)函数参数

特殊的几个参数

shell  test指令

【Linux】善用判断式---test

shell print指令

【Linux】文件格式化与数据处理(printf/awk)

文章来源: blog.csdn.net,作者:咔咔-,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/fangkang7/article/details/102521742

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。