shell命令加()的意思是在子进程中执行,不传递给父进程。去掉()shell命令会传递给父进程。
shell命令中,shell命令成功执行返回0,没有成功返回1。echo $?就是查看返回值的。$?是返回上一个命令是否成功。
shell编程实例:
#!/bin/sh 告诉程序加载那个解释器(解释器有sh、bash、csh、zsh等)
但是这个文件是没有执行权限的,需要设置执行权限。
给这个文件一个权限:
执行文件:
这是执行后的显示。
如果没有权限但是想要执行,需要指定解释器:
显示结果:
source命令是执行source之后的脚本。source和点事等价的(.)也是执行命令。
source或者点命令是shell的内建命令,这种方式也不会创建子shell,而是直接在交互式shell下逐行执行脚本中的命令。