Shell中bash的特性小结(2)

四、命令补全——(TAB键的使用)
 包括两个发面的内容:
  1.构成命令字符串的补全;
参考PATH变量中的路径,对命令进行补全;
  如果,给出的字符串在PATH变量对应的路径中是唯一的,则直接补全命令;
  如果,给出的字符串在PATH变量对应的路径中是不是唯一的,则bash给出提示;
 
  2.命令中参数所对应的字符串补全
  根据给出的路径进行补全:
    如果,给出的字符串在给出的路径中是唯一的,则直接补全命令;
    如果,给出的字符串在给出的路径中是不是唯一的,则bash给出提示;

五、命令行展开
 1.~展开:
  ~:bash会自动将其展开为当前登录用户的家目录;
  ~STRING:bash会将其自动展开为以“STRING”为用户名的用户的家目录;
  ~+:调用bash的内置变量“PWD”的值;
  ~-:调用bash的内置变量“OLDPWD”的值;
 2.{}展开:
  在{}中,可以填充一个以“,”(英文输入法中的“,”)分隔的路径列表,bash会将其展开为多个独立路径;
两种应用
[root@localhost ~]# mkdir -pv /china/{hb,hn,qd,bj}/{1,2,3}/class18
mkdir: 已创建目录 "/china"
mkdir: 已创建目录 "/china/hb"
mkdir: 已创建目录 "/china/hb/1"
mkdir: 已创建目录 "/china/hb/1/class18"
mkdir: 已创建目录 "/china/hb/2"
mkdir: 已创建目录 "/china/hb/2/class18"
mkdir: 已创建目录 "/china/hb/3"
mkdir: 已创建目录 "/china/hb/3/class18"
mkdir: 已创建目录 "/china/hn"
mkdir: 已创建目录 "/china/hn/1"
mkdir: 已创建目录 "/china/hn/1/class18"
mkdir: 已创建目录 "/china/hn/2"
mkdir: 已创建目录 "/china/hn/2/class18"
mkdir: 已创建目录 "/china/hn/3"
mkdir: 已创建目录 "/china/hn/3/class18"
mkdir: 已创建目录 "/china/qd"
mkdir: 已创建目录 "/china/qd/1"
mkdir: 已创建目录 "/china/qd/1/class18"
mkdir: 已创建目录 "/china/qd/2"
mkdir: 已创建目录 "/china/qd/2/class18"
mkdir: 已创建目录 "/china/qd/3"
mkdir: 已创建目录 "/china/qd/3/class18"
mkdir: 已创建目录 "/china/bj"
mkdir: 已创建目录 "/china/bj/1"
mkdir: 已创建目录 "/china/bj/1/class18"
mkdir: 已创建目录 "/china/bj/2"
mkdir: 已创建目录 "/china/bj/2/class18"
mkdir: 已创建目录 "/china/bj/3"
mkdir: 已创建目录 "/china/bj/3/class18"
常用作同时创建多个目录
[sola@localhost ~]$ ls
c.txt  下载  公共的  图片  文档  桌面  模板  视频  音乐
[sola@localhost ~]$ cp c.txt{,.bak}
[sola@localhost ~]$ ls
c.txt  c.txt.bak  下载  公共的  图片  文档  桌面  模板  视频  音乐
 
六、命令的执行结果
在bash中,命令的执行结果有两种:
 1.执行命令的输出结果:
  根据用户需求获取到的命令执行的正常输出结果;
  命令引用或命令替换:
  ``(波浪线键使用英文输入法)相当于$()
  ``:反向单引号,反引号
  示例:
  [root@localhost ~]# ls
  123  abc  anaconda-ks.cfg  a.txt  b.txt  initial-setup-ks.cfg  公共  模  板  视频  图片  文档  下载  音乐  桌面
  [root@localhost ~]# touch a.txt-$(date +%F-%H-%M-%S)
  [root@localhost ~]# ls
  123  abc  anaconda-ks.cfg  a.txt  a.txt-2017-10-26-14-40-46  b.txt      initial-setup-ks.cfg  公共  模板  视频  图片  文档  下载  音乐  桌面
  [root@localhost ~]# touch a.txt-`date +%F-%H-%M-%S`
  [root@localhost ~]# ls
  123  abc  anaconda-ks.cfg  a.txt  a.txt-2017-10-26-14-40-46  a.txt-      2017-10-26-14-41-48  b.txt  initial-setup-ks.cfg  公共  模板  视频  图片  文档  下载  音乐  桌面
此操作常用于文件的备份时标记备份时间
 2.执行命令的状态返回值:
 与此前的一个命令是否成功执行相关的返回内容;
  Bash使用一个特殊的内置变量来保存其内容:$?
  $?实际上保存的是一个数值,其取值范围:0~255
  其中 :
  0:表示命令执行成功;
  1~255:表示命令执行失败
  1,2,127:bash中内置的命令执行失败的状态返回值;
1:表示一些小问题
2:表示严重的问题
127:表示命令本事出现问题;
其与数字(3-126,128-255):用户可以自定义的失败状态返回值;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13298.html