笔记9

-----------------3.18----------------

显示本地变量
1.echo $变量名 或echo ${变量名}
(1).eg:定义一个数字,并输出
num=2
echo "this is the KaTeX parse error: Expected 'EOF', got '#' at position 62: …“yes”,两种方法 (1).#̲name="name"yes
(2).#name=${name}yes

3.在子shell下变量的作用范围
eg:aa=11
bash----------->创建一个子shell
echo $aa----------->无结果

aa=22--------->在子shell里创建变量
echo $aa-------->输出22

exit--------->退出子shell
echo $aa--------->输出11
(在父shell中创建的变量 在子shell里没法输出)

4.释放本地变量---->unset
格式:unset+变量名
eg:
unset name

***5.***环境变量在shell脚本开始执行时就已经开始定义了,环境变量也称为系统变量,环境变量可以用于所有用户进程(即可以在子shell中进行调用)(环境变量40个)
查看环境变量 (\env)

6.export可以把本地变量设置为环境变量
格式:export+变量名
也可以在给变量赋值的同时使用export命令
格式:export 变量名=变量值(若等号两边有空格,则必须用引号括起来)(指的是变量名或者变量值当中有空格而不是等号左右两侧的空格)

7.特殊变量
某些变量在一开始执行脚本时就被设定且不再改变,他们就称为特殊变量
用户只能根据shell使用这些变量而不能重新定义他们,所有特殊变量都是由 和 另 一 个 符 号 组 成 ( 例 : 和另一个符号组成(例: #)
$#:存储shell程序中命令行参数的个数
$?:存储shell中上一个程序执行的返回值(0表示执行成功,非0表示错误)
$[1-n]:存储[1-n]个命令行参数
$0:存储shell程序自己的名称
$*:存储shell脚本的所有参数(不包含$0)
$$:存储shell脚本的进程号(pid)

练习:
设计脚本***要求如下:
当输入bash ./文件名字2012 * * * 2012回车显示2012年头任意三个月月历
#!/bin/bash

cal $2 $1
cal $3 $1
cal $4 $1
(bash ./yueli.sh 2012 2 6 8)---->输出2012年2 6 8月份月历

8.shift命令
可以移动命令行参数。运行shift后,把每个参数向左移动一个位置,$2 $3 …依次变为$1 $2…,原先的$1丢掉
eg:(在vim 里面写)
#!/bin/bash
echo $1 $2
shift
echo $1 $2
输入:(bash ./shf.sh hello bye)
输出:hello bye
bye-------->(hello被丢掉)

9.特殊符号
引用符号
在bash中,许多字符有特殊含义如果希望忽略某些字符含义可以使用一种“引用”通知shell暂时忽略被引用符号的特殊含义,将其作为普通字符处理。

~:用户主目录
`:不会被双引号剥夺含义
#:注释
$:变量名开头
&:将命令在后台执行
*:通配符(代表任何字符)
(:子shell开始
):子shell结束
:转义字符
|:管道
?:通配符(只代表任何单一字符)
<:重定向(输入)

:重定向(输出)
':(单引号)----->不具有变量置换的功能
";(双引号)----->具有变量置换的功能
/:目录路径
;:命令分隔符

10.在shell中的三种引用符号
(1).转义符:
\放在shell特殊字符之前,则shell忽略该字符的特殊含义
用这种方式时,必须在每一个欲忽略其特殊含义的特殊字符前加\字符
eg:
echo \f*?
输出:f*?-------->(将特殊符号当做普通符号输出)

(2).单引号:’
将字符放在一队单引号之间,则单引号内的所有字符的特殊含义都被忽略,只作为普通字符解释
eg:
echo ‘f*?’
输出:f*?-------->(将特殊符号当做普通符号输出)

(3).双引号:"

11.命令替换符
命令替换符:"`"(反引号)的作用根引号字符的作用相反
反引号括起来的字符被shell解释为命令行,在执行shell时,首先执行该命令行,并以他的标准输出结果取代整个反引号(包括两个反引号)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值