2021-10-18
变量:local区、env区
一个进程有 local 区和 env 区两个变量空间。定义新变量时,将由 local 数据区分配内存,此区域中的变量对当前进程是私有的,通常称为局部变量。后续的任何子进程都不能访问这些局部变量。但是,移动到 env区的变量子流程可以访问。
几个隐藏文件 (可用ls -a来查看)
替换:变量替换、命令替换、波浪线替换
与alias对比:
alias别名
$ alias copy=”cp -i”
则copy可直接作为命令使用,无需$等符号
变量替换
$ dir=/home/whq
$ echo $dir
/home/whq
命令替换
$ pwd
/home/whq
$ dir=$(pwd) 或者 dir=`pwd`
圆括号,返回命令的结果。
波浪线替换
$ echo $HOME
/home/whq
$ echo ~
/home/whq
1.显示当前bash下的环境变量值。(env)
显示当前bash下的变量值 (set)(显示 local 区和 env 区的变量及其取值)。
显示当前bash的环境区的变量值 (export)(显示 env 区中变量及其取值,包括环境变量和通过 export 从 local 区被拉到 env区的普通变量。)
2.显示并简述 .bash_profile , .bash_history , ./bash_logout 的作用
2.1.bash_profile:用户定义的别名、变量名、环境变量名写入此,那么当你再登录的时候,这个脚本的内容会被自动执行。
2.2.bash_history:保存了当前用户使用过的历史命令。
2.3 ./bash_logout:exit 之后,它会被执行。
2.4 ./bashrc:主要保存个人的一些个性化设置,如命令别名、路径等。与.bash_profile 文件有所区别,但很小。3.定义 变量 color 为 dir1 ($ color=dir1) , 定义 lsf 为 ls -F ($ lsf=’ls -F’), 显示 目录dir1中的内容 ($ $lsf $color)
变量替换
- 写一个1.txt 文本文件 ($ vi 1.txt), 将1.txt文件里的内容赋给变量 content
($ content=`cat 1.txt` 或者 $ content=$(cat 1.txt))
命令替换
5.写一个脚本,运行这个脚本时,如果能将/etc/profile 文件成功地复制到该用户的登录目录里,就打印 succeed ,否则就打印fail
波浪线替换
($ cp /etc/profile ~ && echo succeed || echo fail
succeed
$ cp /etc/profile1 ~ && echo succeed || echo fail
cp: cannot stat ‘/etc/profile1’: No such file or directory
fail
)
写完shell脚本后还应该修改权限,才能够运行。