执行一个脚本一般有三种方法:
1。将该脚本权限设置为可执行,然后直接用脚本的名字执行,这种方法相当于一个普通的命令。
2。. filename (点空格filename,这样就默认使用sh执行该脚本,并且不生成子shell,是在当前shell下运行,不用设置可执行权限。
3。sh filename (生成子shell,在该种模式下常用于调试脚本,如sh -x filename,也不用设置可执行权限)。
当然还可以用exec来执行,但一般不用,因为可能会有点危险。
第三种方法中,“也不用设置可执行权限”,这样是不能执行的吧。
sms@test1> ls -l test
-rw-r--r-- 1 sms users 23 Nov 16 15:19 test
sms@test1> sh test
Sat Nov 16 15:20:10 CST 2002
sms@test1> cat test
#!/bin/sh
echo `date`
3点需要补充的是,sh filename是针对sh,ksh的,对于csh需要用source filename
再补充一下:exec命令启动一个脚本,不会启动子shell,使用这一命令时任何现有环境都将会被清除,并践踏你当前的shell,当这个脚本结束,该shell将被关闭,并重新回到登陆符。