Ton*_*ony 12 unix linux shell command
我是在UNIX/Linux中运行脚本的新手.我有一个包含环境信息的.env文件和一个包含该环境的文件夹创建等的.sh脚本.
如何在.env文件中包含的环境上运行脚本,或者如何将脚本指向目标环境?
它会像以下一样简单:
bash 'scriptname.sh' 'filename.env'
Run Code Online (Sandbox Code Playgroud)
hek*_*mgl 13
在启动脚本之前,您需要在调用shell中获取环境:
source 'filename.env' && bash 'scriptname.sh'
Run Code Online (Sandbox Code Playgroud)
为了防止调用shell的环境污染,您可以在子shell中运行它:
(source 'filename.env' && bash 'scriptname.sh')
Run Code Online (Sandbox Code Playgroud)
创建一个文件,其名称可能run_with_env.sh
包含以下内容
#!/bin/bash
ENV_FILE="$1"
CMD=${@:2}
set -o allexport
source $ENV_FILE
set +o allexport
$CMD
Run Code Online (Sandbox Code Playgroud)
将权限更改为755
chmod 755 run_with_env.sh
Run Code Online (Sandbox Code Playgroud)
现在使用以下命令运行 bash 文件
./run_with_env.sh filename.env sh scriptname.sh
Run Code Online (Sandbox Code Playgroud)
. ./filename.env
sh scriptname.sh
Run Code Online (Sandbox Code Playgroud)
第一个命令设置env.shell中的变量,第二个将使用它来执行自身.
归档时间: |
|
查看次数: |
16825 次 |
最近记录: |