是否可以在不同的文件上多次使用 source 命令?
Is it possible to use the source command multiple times on different files?
我目前正在尝试编写一个 bash 脚本,它应该可以帮助我在 python 中实现虚拟环境的自动化。
问题是我似乎无法获得两次来源。 (在 bash 脚本中采购另一个 bash 脚本)。
这些是我使用的文件:
#!/bin/bash
# Call this file with . filename or source filename to run it in the current bash
if [ "$#" -eq 1 ]
then
if [ "" == "install" ]
then
pip install kivy[base]
# Install Kivy and some examples
#python -m pip install kivy[base] kivy_examples
elif [ "" == "start" ]
then
source ../virtualEnviroment.sh Kivy
fi
fi
virtualEnviroment.sh:
#!/bin/bash
# Call this file with . filename or source filename to run it in the current bash
ENVIROMENTNAME=
DIR=
(return 0 2>/dev/null) && sourced=1 || sourced=0
if [ "$#" -ne 1 ]
then
echo Missing enviromentname
else
if [ "$sourced" -eq 1 ]
then
if [ -d "$DIR" ]
then
echo Using existing enviroment $ENVIROMENTNAME
source "$ENVIROMENTNAME"/bin/activate
else
echo Creating new enviroment $ENVIROMENTNAME
python3 -m virtualenv "$ENVIROMENTNAME"
source "$ENVIROMENTNAME"/bin/activate
fi
else
echo Please use . [=11=] or source [=11=]
fi
fi
是我做错了什么,还是只能采购一次才正常?
(是否尝试使用第一个bash脚本的bash环境,但是由于已经source了,所以不能使用sourced的bash环境,使用第一个 bash 脚本的未来源 bash 环境?)
看来我只是忘了将另一个来源添加到 bash 脚本中以获取第二个 bash 文件的来源。
我目前正在尝试编写一个 bash 脚本,它应该可以帮助我在 python 中实现虚拟环境的自动化。 问题是我似乎无法获得两次来源。 (在 bash 脚本中采购另一个 bash 脚本)。
这些是我使用的文件:
#!/bin/bash
# Call this file with . filename or source filename to run it in the current bash
if [ "$#" -eq 1 ]
then
if [ "" == "install" ]
then
pip install kivy[base]
# Install Kivy and some examples
#python -m pip install kivy[base] kivy_examples
elif [ "" == "start" ]
then
source ../virtualEnviroment.sh Kivy
fi
fi
virtualEnviroment.sh:
#!/bin/bash
# Call this file with . filename or source filename to run it in the current bash
ENVIROMENTNAME=
DIR=
(return 0 2>/dev/null) && sourced=1 || sourced=0
if [ "$#" -ne 1 ]
then
echo Missing enviromentname
else
if [ "$sourced" -eq 1 ]
then
if [ -d "$DIR" ]
then
echo Using existing enviroment $ENVIROMENTNAME
source "$ENVIROMENTNAME"/bin/activate
else
echo Creating new enviroment $ENVIROMENTNAME
python3 -m virtualenv "$ENVIROMENTNAME"
source "$ENVIROMENTNAME"/bin/activate
fi
else
echo Please use . [=11=] or source [=11=]
fi
fi
是我做错了什么,还是只能采购一次才正常?
(是否尝试使用第一个bash脚本的bash环境,但是由于已经source了,所以不能使用sourced的bash环境,使用第一个 bash 脚本的未来源 bash 环境?)
看来我只是忘了将另一个来源添加到 bash 脚本中以获取第二个 bash 文件的来源。