shell script 执行经常使用的两种方式

2016-11-17shell

  1. 直接输入脚本名执行 ./script
#!/bin/bash
# /root/shell/001 # 2016-11-17 test for script running name="ahau-2015" echo ${name}
  • 此种执行方式下,其实script是在子进程的bash内进行的。
  • 咱们须要知道:当子进程执行完成后,子进程内的各项变量或操做都不会传回到父进程中,这就是说,我在子进程里定义的变量等在父进程里是不起做用的,即便是在script里声明了一个环境变量,退出script后,这个环境变量没有在父进程中起做用。
  • 父进程里的环境变量等能够在子进程中起做用
./root/shell/001

  

    2.  用source来执行脚本:在父SHELL中执行bash

source    /root/shell/001
  • 用source执行script与直接执行script的最大区别在于进程或SHELL的不一样,为何这么说呢?
  • source执行script不会单独打开一个子进程来运行脚本,而是在打开它的父进程中运行,所以在脚本里作的任何操做,如变量的设置、运算等都是在父进程中有效的。
相关文章
相关标签/搜索