执行 shell 脚本
执行脚本 1,脚本文件加上可执行权限 command: itcast$ chmod a+x test.sh //使用chmod命令给脚本文件加上权限 itcast$ ./test.sh //执行可执行文件 当执行以上命令时,shell fork 一个子进程调用exec执行 tese.sh 这个程序,可这个程序是一个脚本文件,它没有代码段和stat函数。 exec 还有另外一种机制,如果执行的是文本文件且第一行指定了解释器,则用该解释器的代码段替换当前进程,并从解释器的stat段开始执行,该文本作为命令行参数传给解释器。 因此执行上述脚本相当于执行程序。 2,指定解析器的目录执行脚本 command: itcast$ /bin/sh ./test.sh //不需要test.sh文件具有可执行权限 总结:1 和 2 两种方式执行脚本的操作影响的是子进程,不会影响到交互式shell。 因为shell 解析器会fork子进程去执行脚本。 例如:命令行下输入的命令用()括号括起来,那么也会fork出一个子Shell执行小括号中的命令 command: itcast$ ( cd .. ; ls -l ) 3,使用shell 的内建命令去执行脚本 command: itcast$ source ./test.sh //source 是shell的内建命令 或者 itcast$ . ./test