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不會單獨打開一個子進程來運行腳本,而是在打開它的父進程中運行,所以在腳本里作的任何操做,如變量的設置、運算等都是在父進程中有效的。
相關文章
相關標籤/搜索