如何用参数传递通过单行命令包装Shell脚本

时间:2018-07-28 03:14:47

标签: shell pip sh virtualenv conda

由于我公司正在进行不同的项目并行处理,因此如今我使用了大量虚拟环境。

以下是我通常在新虚拟环境的conda创建的初始设置中所做的工作

conda install --yes --file requirements.txt
source activate myenv
python -m ipykernel install --user --name myenv --display-name “kernel_name”

以上代码序列必须按顺序运行,同时将myenvkernel_name作为手动给定的参数传递。

我该如何立即处理包裹着.sh的文件?还是不创建.sh文件就可以吗?

1 个答案:

答案 0 :(得分:0)

您可以使用Shell脚本来实现。我会的:

#!/usr/bin/env bash
myenv="$1"
kernel_name="$2"
source /path/to/base/conda/installation/etc/profile.d/conda.sh
conda install --yes --file /path/to/requirements.txt
conda activate "$myenv"
python -m ipykernel install --user --name "$myenv" --display-name "$kernel_name"

运行它,就像:/path/to/script.sh <env-name> <kernel-name>