(1)如何在bash shell的一次交互中提交多个命令?有以下三个方法
例如:cd /bin;ls;cd /home
bash shell 先会执行cd /bin , 再执行ls ,最后执行cd /home命令。
使用分号进行分隔时,bash shell不管前面一个的命令是否执行成功,都会执行后面接下来的命令。所以不管有没有执行cd /bin都会执行ls。
2.使用&&隔开
例如:cd /bin && ls && cd /home
在使用&&隔开时,只有前一个命令执行成功后,后一个命令才会被执行。
3.使用||隔开
例如:cd /bin || ls || cd /home
在使用||隔开时,只有在前一个命令执行不成功的时候,后一个命令才会被执行。
(2)命令别名
别名使用alias命令定义,其定义格式为:alias 别名=命令
1.为ls定义一个名为p的别名:alias p=ls
2.定义后使用p的时候,bash shell会执行ls命令
3.定义带选项的别名时,需要使用双引号:alias p="ls -al"
4.定义的别名也可以和原命令名相同
5.用命令alias来查看已经定义好的别名
6.使用unalias p来取消定义好的别名
(3)命令替换
1.花括号替换:花括号替换可以把一个字符串展开为多个字符串,循环替换花括号中的内容。如file{1,2,3}会被替换为file1,file2,file3三个单词。
这样的替换方式经常用于引用文件名、目录名、设备名,这些文件有共同的前缀和后缀。
2.变量替换:bash shell会把"$变量名"或"$(变量名)"格式的表达式替换成shell变量或是环境变量。
3.算术替换:bash shell会对"$((....))"的内容进行整数运算。
4.命令替换:用户可以通过命令替换在子shell中运行任意的命令,并把结果合并在命令行中。在bash shell中可以通过"$(子shell命令)"实现命令替换。