我有这个脚本"/home/prod/test.sh">
#!/bin/bash
echo Hello, who am I talking to?
read varname
echo It's nice to meet you $varname
当我运行这个命令
时,我就预料到了conda run -n myenv /home/prod/test.sh
我将看到一个提示等待我输入varname的值,而不是我得到
(base) prod@dev-box:~$ conda run -n reportz /home/prod/test.sh
Hello, who am I talking to?
It's nice to meet you
(base) prod@dev-box:~$
我将非常感谢一个详细的回应,我如何使用conda来运行一个非交互式shell脚本?
[编辑]
用read -r varname < /dev/tty
代替read varname
它等待我的输入,但是没有显示echo语句echo Hello, who am I talking to?
的输出。我正在寻找的解决方案-脚本应该与conda run
命令完全相同,因为它将在典型的shell环境中运行。
conda run
命令默认为缓冲I/O。要进行交互,需要包含--no-capture-output
标志。
conda run -n myenv --no-capture-output /home/prod/test.sh
此功能在Conda v4.9.0(更改日志)中引入。