摘要:對fork,source和exec三種方式執行shell腳本的總結。 准備知識 1.我們所執行的任何程序,都是由父進程(parent process)所產生出來的一個子進程(child process),子進程在結束后,將返回到父進程去。此一現像在Linux系統中被稱為 fork ...
shell中sh, exec, source, fork, . 的區別 ,sh sh是通過創建子進程 subshell 去執行腳本,父進程無法使用子進程中的變量,而子進程對環境變量的修改也不會影響到父進程。父進程中的局部變量子進程也無法使用,子進程會繼承父進程的環境變量 腳本不需要執行權限 ,exec 使用exec執行腳本,被執行的腳本會繼承當前shell的環境變量,exec相當於創建了新進程,它 ...
2018-06-25 21:49 0 2399 推薦指數:
摘要:對fork,source和exec三種方式執行shell腳本的總結。 准備知識 1.我們所執行的任何程序,都是由父進程(parent process)所產生出來的一個子進程(child process),子進程在結束后,將返回到父進程去。此一現像在Linux系統中被稱為 fork ...
source script.sh 在當前環境下執行, 所有的變量即使腳本運行結束也會被保留下來(無需顯示的聲明),也可以使用當前bash中定義的變量. 在當前shell下定義一個變量 $var1='var1 defined in shell' 在腳本中輸出上面定義的變量, 然后再定義一個新 ...
首先我們知道我們執行shell有這么幾種方法 1. sh/bash使用其內置的命令集來執行一些命令,例如如下 sh demo.sh bash demo.sh 2. 使用./或者/$SHELLPATH/*.sh的方式執行 ./demo.sh /home/vagrant ...
fork ( /directory/script.sh) :如果shell中包含執行命令,那么子命令並不影響父級的命令,在子命令執行完后再執行父級命令。子級的環境變量不會影響到父級。 fork是最普通的, 就是直接在腳本里面用/directory ...
1、source命令用法: source FileName 作用:在當前bash環境下讀取並執行FileName中的命令。該filename文件可以無"執行權限" 注:該命令通常用命令“.”來替代。 如:source .bash_profile ...
總結: 這四個都可以用來創建子進程 1.spawn和fork都是返回一個基於流的子進程對象 2.exec和execFile可以在回調中拿到返回的buffer的內容(執行成功或失敗的輸出) 3.exec是創建子shell去執行命令,用來直接執行shell命令 。execFile是去創建任意 ...
source 在當前shell中讀取a.sh並執行 a.sh不需要有執行權限 source命令可以簡寫為" . "(如:. a.sh ) bash/sh 打開一個subshell去讀取並執行a.sh,一旦這個subshell執行完馬上退出 ...
exec和source都屬於bash內部命令(builtins commands),在bash下輸入man exec或man source可以查看所有的內部命令信息。 bash shell的命令分為兩類:外部命令和內部命令。外部命令是通過系統調用或獨立的程序實現的,如sed、awk等等。內部 ...