Shell——符号

Shell即是一种命令语言,又是一种程序设计语言

Shell脚本

Shell脚本是一种为Shell编写的脚本程序

Shell脚本一般以.sh结尾

创建文件hello.sh

  1 #!/bin/bash
  2 #第一行的"#!"指明脚本用命令解释
  3 #第一行必须写#!shebang
  4 #除了位于第一行的“#”,其他的“#”都表示注释
  5 echo "hello world!"

两种运行方式

交互式:在命令行上去敲

批处理:把命令写在文件中

shell的内置命令:不需要创建子进程的命令,由父进程直接执行

.或source修饰的脚本在执行时会影响到父bash。所以.和source命令是Shell的内建命令,这种方式不会创建子Shell,而是直接在交互式Shell下逐行执行脚本中的命令

  Shell变量

赋值和命名规则

变量名和等号之间不能有空格

变量名的命名规则:

  • 首个字符必须是字母(a-z,A-Z)
  • 中间不能有空格,可以使用下划线(_)
  • 不能使用标点
  • 不能使用bash里的关键字

变量

1、使用变量:只要在变量名前加“$”即可

第二次赋值时不用加“$”,当变量为右值时才要加“$”

2、只读变量:使用readonly命令可以将变量定义为只读的,只读变量的值不能被改变

3、删除变量:使用unset命令

4、变量类型

  • 本地变量:局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他Shell启动的程序不能访问局部变量。只存在于当前Shell进程,用set命令可以显示当前Shell进程中定义的所有变量和函数
  • 环境变量:所有的程序,包括Shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候Shell脚本也可以定义环境变量。环境变量可以由父进程传给子进程,因此Shell进程的环境变量可以从当前Shell进程传给fork出来的子进程。用printenv命令可以显示当前Shell进程的环境变量
  • shell变量:shell变量是有shell程序设置的特殊变量。shell变量中有一部分是环境变量,也有一部分是局部变量
  • export命令可以将本地变量导出为环境变量

字符串

1、拼接字符串:字符创写在一起就会拼接在一起

2、获取字符串长度:{#字符名}

3、提取字符串:{string:2:4}

4、查找字符串

代换

1、文件代换

通配符:用于匹配的字符

*:匹配0个或多个任意字符

?:匹配一个任意字符

[若干字符]:匹配方括号中任意一个字符的一次出现

2、命令代换:Shell先执行命令,然后将其结果立刻代换到当前命令行中

反引号``:

$():

3、算术代换

(())中的shell变量取值将代换称整数,(())中只能用+-*/和()

对运算结果进行赋值或作为右值:

转义字符

\在C语言和shell中都用作转义字符,紧跟其后的字符取字面值

“-”在Linux中一般会将其当做选项而不是文件名,以-开头的文件的创建方式:

“\”:除了转义字符还有一种用法,在其后紧跟着敲回车,代表着续行

单引号和双引号

1、C语言:单引号——字符的界定符

                   双引号——字符串的界定符

2、shell:单引号和双引号都是字符串的界定符

(1)单引号:用于保持引号内所有字符的字面值,包括\和回车;字符串内不能出现单引号;如果引号没有配对就回车,shell会给出续行提示符,要求用户将引号配上对

(2)双引号:用于保持引号内所有字符的字面值,包括回车;但以下情况例外:

  • $加变量可以取变量的值
  • 反引号仍然表示命令替换
  • $表示$字面值
  • `表示`字面值
  • \"表示\"的字面值
  • \表示\的字面值

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值