Linux shell特殊字符

20 篇文章 0 订阅

Linux shell特殊字符

通配符

  1. 星号(*)

匹配任意字符
try*c //匹配: try1.c try.c try.basic

  1. 问好(?)

匹配任意单个字符

  1. 方括号([])

匹配括号里所限定的任何一个字符

[Mm]akefile //匹配Makefile makefile

file[1-5] //匹配file1 file2 file3 file4 file5

* file[1-20] //匹配file1 file2 *

  1. 感叹号(!)

如果在方括号内,表示不匹配括号内所限定的任何单个字符

file[!2-4].c //不匹配文件: file2.c 、file3.c 、 file4.c

引号

  1. 双引号(”)
    消除元字符的特殊含义
    除 $ ’ ” 三个元字符外,均作为普通字符
    保留空白 字符
  2. 单引号(’)
    消除元字符的特殊含义
    除单引号自身以外,其它元字符都作为普通字符
    用“\”消除单引号的特殊含义
  3. 倒引号(`)
    命令替换, 将一个命令的输出作为另一个命令的参数
  4. 元字符
    指的是在Sheel中含有特殊含义的字符
    < > | ; ! ? * [ ] $ \ ” ’ ` { } ( ) ^

输入重定向

  1. <
    让命令从指定文件中取得输入数据
    wc < fileinfo //将fileinfo作为wc命令的输入

  2. <<
    改变输入结束的分隔符。以哪个分隔符开始,以哪个分割符结束

管道(|)

(进程通信)通过管道把一个命令的输出传递给另一个命令作为输入

后台命令(&)

将当前命令送到后台执行。给前台命令后加上&就可以使之变成后台命令。

命令执行操作符

顺序执行(;)

格式:
命令1;命令2;…命令n
各条命令从左往右依次执行

逻辑与

格式:
命令1 && 命令2
功能:
先执行命令1,如果成功,才执行命令2;否则不执行命令2

逻辑或

格式:
命令1||命令2
功能:
先执行命令1,如果不成功,就执行命令2;如果成功,就不执行命令2

成组命令

格式:
{命令序列}
(命令序列)
功能:
配对括号之间的所有命令作为一个整体执行
例子:

$ date;who>tmp1
$ (date;who)>tmp2
$ { date;who;}>tmp

tmp1 中只有用户信息
tmp2 中有时间和用户的信息
tmp 中有时间和用户的信息

实际上大括号和小括号在运行时是有区别的,但是它们的输出结果一样。

shell变量

shell支持两种类型的变量:环境变量和局部变量

环境变量

由系统定义,用来保留系统的内容。
环境变量可以被用户修改,当用户注销后,环境变量随之复原(用户修改的环境变量只在当前shell下起作用)

常用的环境变量

查看环境变量

echo HOMEecho H O M E e c h o PATH

使用env命令显示所有的环境变量
使用set命令显示所有本地定义的shell变量(局部变量)
使用readonly命令设置只读变量
修改环境变量

HISTSIZE=500
PS1=here:

局部变量

由用户定义、修改或删除。

命名规则

格式同C语言

变量赋值
  1. 赋值时等号两边不能有空格
  2. 变量做右值时要加 a=1b=date//c= , 才 表 示 右 值 的 值 例 子 : a = 1 b = ′ d a t e ′ / / 将 命 令 的 结 果 作 为 变 量 值 c = a //将一个变量的值赋给另一个变量
引用变量

变量名前面要加 echo 符 号 e c h o a $b

查看所有变量–set命令
清除变量–unset命令

unset a

说明

shell变量没有存储类和类型的限制(可以理解为全是字符串变量);
如果值中包含空格,赋值时必须用引号括起来;
如果变量出现在长字符串的开头或中间,为了避免混淆,应该用花括号将该变量名括起来

位置变量

功能: 存放命令行参数
cat file1 file2 file3 file4 …
0 0 1 2 2 3 $4 …

shift命令–移动位置参数

当脚本的参数多于9个时,用shift命令来使用多于9个参数

格式:
shift [n] n表示移动的位数;
若不指定n的值,则默认n为1

set命令–修改位置参数的值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值