[英]Unable to execute a script from another shell script
我有一個以#!/bin/sh
shebang開頭的腳本( A
)。
還有另一個文件( B
),它不是以#!/bin/sh
開頭的; 它具有一些環境變量,我需要為A
設置這些變量。
文件B
運行良好,並從.bash_profile
執行時設置了變量。 例如,在我的.bash_profile
文件中:
{. /(full_path)/(envname)/(filename).sh;}
當我在A
腳本文件中寫同一行時,什么也沒發生。 為什么不?
我確實echo $env_variable_name
; 當通過.bash_profile
執行時,這給了我正確的路徑,但是當通過腳本A
執行時,給了我空白。 我試過了
/(full_path)/(envname)/(filename).sh
SCRIPT_FULL_NAME=$(readlink -f "$0") SCRIPT_PATH=$(dirname $SCRIPT_FULL_NAME) sh ${SCRIPT_PATH}/(filename).sh
我該怎么辦?
還有另一個文件(B),它不以#!/ bin / sh開頭; 它具有一些環境變量,我需要為A設置這些變量。
在這種情況下,你應該源時,腳本B在腳本A.為源SH腳本的命令是:
. /path/to/B.sh
請注意.
不是腳本B相對路徑的開頭。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.