运行Shell 脚本有两种方法
- 在新进程中运行
- 在当前Shell进程中运行。
调用方式一:sh test.sh( 属于一种调用方式,这种调用方式是在外面指定shell环境是sh)
调用方式二:source test.sh(直接使用脚本里面的shell类型)
source是Shell内置命令的一种。他会读取脚本中的代码,并依次执行所有语句。
source命令会强制执行脚本文件中的全部命令,而忽略脚本文件的权限!!!
调用方式三:. /test.sh使用的是脚本里面的shell
chmod +x 01.sh给一个执行权限
直接/mnt/test.sh回车,这样就是另外一种执行方式(使用的就是脚本里面的第一行的shell类型,不用开启子shell,这一行也叫幻数)
示例一:
使用source或’.’ 可以将自身脚本中的变量值和和函数等的返回值传递到父Shell脚本中使用
[root@foundation42 shell脚本的执行]# cat 3.sh
#!/bin/bash
userdir=`pwd`
[root@foundation42 shell脚本的执行]# sh 3.sh
[root@foundation42 shell脚本的执行]# source 3.sh
[root@foundation42 shell脚本的执行]# ./3.sh
示例二 :
使用$$变量可以获取当前进程的PID
[root@foundation42 shell脚本的执行]# cat check.sh
#!/bin/bash
echo $$
[root@foundation42 shell脚本的执行]# sh check.sh
5607
[root@foundation42 shell脚本的执行]# source check.sh
5421
[root@foundation42 shell脚本的执行]# ./check.sh
5618