【发布时间】:2021-03-30 11:14:27
【问题描述】:
我有一个小功能可以让我激活我的 python 虚拟环境,对于不同的 repos,它有时是隐藏的 (.venv) 有时不是 (venv)。我无法抑制标准错误。
这是我的小功能(它位于~/.zshrc)
function venv {
source `ls -a $PWD/*/bin/activate` > /dev/null
if [[ $? -ne 0 ]]
then
source `ls -a $PWD/.*/bin/activate`
fi
}
$PWD/*/bin/activate 或 $PWD/.*/bin/activate 中只有一个存在,我想忽略不存在的那个,没有错误。
问题在于这一行
ls -a $PWD/*/bin/activate 2>&1 /dev/null
给出终端输出
zsh: no matches found: /home/jokea/code/FlorA/*/bin/activate
我的理解是2>&1 /dev/null 应该同时抑制标准错误和标准输出。那么为什么它不起作用呢?
我已经尝试了我能找到的所有其他变体(>、>>、&>、>& 等),但它仍然会打印到终端。如何使我的函数的所有输出静音?
【问题讨论】:
标签: zsh