簡體   English   中英

無法從另一個Shell腳本執行腳本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM