我有这个脚本“/home/prod/test.sh”
#!/bin/bash
echo Hello, who am I talking to?
read varname
echo It\'s nice to meet you $varname
Run Code Online (Sandbox Code Playgroud)
我期待当我运行这个命令时
conda run -n myenv /home/prod/test.sh
Run Code Online (Sandbox Code Playgroud)
我会看到一个提示,等待我输入 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:~$
Run Code Online (Sandbox Code Playgroud)
非常感谢详细说明我如何使用 conda 运行无效的 shell 脚本?
[编辑]
替换read varname
为read -r varname < /dev/tty
它确实等待我的输入,但没有显示 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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2906 次 |
最近记录: |