实验目的:
进一步巩固shell程序设计语言基本语法,加深对所学知识理解。
实验要求
1. 四种变量的使用
2. 配置环境变量
3. 元字符和正则表达式
4. 引号
1. 本地变量
$ var1="hello Linux" //定义本地变量var1
$ read var2 //定义本地变量vae2
$ echo $var1 $var2 //显示本地变量的值
2. 环境变量
$ env //显示系统的环境变量
$ echo $PATH //显示搜索路径变量PATH
$ MYNAME="zhangs" //定义本地变量MYNAME
$ export MYNAME //将本地变量MYNAME输出为环境变量
下面观察环境变量与本地变量作用范围的区别
$ echo $var1 $MYNAME //显示本地变量和环境变量
$ bash //创建子进程bash
$ echo $var1 $MYNAME //显示本地变量和环境变量
$ exit //退出子进程bash
$ echo $var1 $MYNAME
通过修改环境变量PS1可修改提示符
$ PS1=$ //将提示符变为$
3. 位置变量
使用编辑器vi编辑下列shell脚本
#!/bin/bash
echo $0 $1 $2 $3
将上述两行脚本保存为文件locat.sh
$ chmod +x locat.sh //增加执行权限
$ ./locat.sh you me he
观察显示结果,理解位置变量的定义
4. 预定义变量
用编辑器vi编辑以下shell脚本
#!/bin/bash
echo $#
echo $*
将上述三行保存为文件predef.sh
$chmod +x predef.sh //增加执行权限
$ ./predef.sh Linux Unix Windows
观察运行结果,理解预定义变量的含义
5. 配置环境变量
可通过用户主目录下的配置文件,改变系统的启动参数,例如:可通过修改.bash_profile修改环境变量PATH,具体操作如下:
$ cd ~ //进入用户的主目录
$ vi .bash_profile //编辑配置文件
若文件中有下列行:
PATH= $PATH;$HOME/bin
则在PATH路径中增加当前路径,修改后外:
PATH= $PATH;$HOME/bin:.
$ exit //退出
用该用户的账号重新登录系统
执行当前目录下的locat.sh脚本无需制定当前路径,例如:
$ locat.sh myname is zhangs
///-------------------------------------------------------------------
logout退出当前用户,乌班图在当前用户的主目录下修改环境变量
似乎没有bash_profile文件。
///-------------------------------------------------------------------
6.元字符与正则表达式
$ cd ~ //进入用户主目录
# ls -l / >list //以详细方式列出根目录下的所有文件信息,重定向至list文件
$ grep ^d list // 查询所有目录
$ ls *.sh //列出所有后缀名为.sh的shell脚本文件
6. 反引号、单引号和双引号
$ abc="pwd"
$ echo '$abc' //只显示单引号内的字符串
$ echo "$abc" //显示变量的值
$ echo `"$abc"` //"和`的综合使用
$ echo "`pwd`" //为"内的`作出解释
$ echo *
$ echo "*" //屏蔽元字符的特定含义
注:双引号的命令替换是:将双引号内一对反引号中的命令替换为该命令运行的结果。