gpt4 book ai didi

linux - 如何使用 bash 脚本关闭和重新打开 shell

转载 作者:行者123 更新时间:2023-12-04 17:27:22 25 4
gpt4 key购买 nike

所以我正在尝试在 Linux 服务器上安装 conda。为此,我以 root 用户身份运行 bash 脚本,并创建了一个新用户来安装 conda。新用户是“ags”。下面添加的是我的 shell 脚本中的行。

echo "Getting the conda installer"
su - ags -c "wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /${install_directory}/ags/miniconda.sh"
echo "Installing conda"
su - ags -c "bash /${install_directory}/ags/miniconda.sh -b -p /${install_directory}/ags/miniconda"


###ERROR PART UNDERNEATH ####
su - ags -c "/${install_directory}/ags/miniconda/condabin/conda init bash"

su - ags -c "export ARCGISHOME=/${install_directory}/ags/arcgis/server; conda activate

但是,我的输出 要求我重新启动 shell:

root@my_server:~# su - ags -c "/data/ags/miniconda/condabin/conda init bash"
no change //data/ags/miniconda/condabin/conda
no change //data/ags/miniconda/bin/conda
no change //data/ags/miniconda/bin/conda-env
no change //data/ags/miniconda/bin/activate
no change //data/ags/miniconda/bin/deactivate
no change //data/ags/miniconda/etc/profile.d/conda.sh
no change //data/ags/miniconda/etc/fish/conf.d/conda.fish
no change //data/ags/miniconda/shell/condabin/Conda.psm1
no change //data/ags/miniconda/shell/condabin/conda-hook.ps1
no change //data/ags/miniconda/lib/python3.7/site-packages/xontrib/conda.xsh
no change //data/ags/miniconda/etc/profile.d/conda.csh
modified //data/ags/.bashrc

==> For changes to take effect, close and re-open your current shell. <==

root@my_server:~# su - ags -c "conda activate"
-sh: 1: conda: not found

有没有办法重新启动我的 shell (ags) 并在之后仍然保持脚本运行?

最佳答案

Conda 将 conda activate 定义为一个 shell 函数,conda init 将代码放入 init 文件(此处为 .bashrc)以确保该函数得到在交互 shell session 开始时定义。重新启动 session 的替代方法是改为 source ~/.bashrc

可能值得注意的是,在已经激活的部分中手动重新获取 init 文件的一个(通常是次要的)问题是 .bashrc 中的某些代码可能是非幂等的(即,多次运行它与只运行一次有不同的效果)。 Fatih Arslan has a nice blog post包含有关编写设计为幂等的 bash 脚本的技巧。

关于linux - 如何使用 bash 脚本关闭和重新打开 shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62436091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com