我想写一个bash脚本,去掉一些环境变量
我的问题是当我运行低于命令
env | grep -i _proxy= | cut -d "=" -f1 | xargs -I {} echo {}
我看到下面的结果
HTTPS_PROXY
HTTP_PROXY
ALL_PROXY
但是当我用unset
替换echo
时,类似于下面的内容
env | grep -i _proxy= | cut -d "=" -f1 | xargs -I {} unset {}
我看到下面的错误
xargs: unset: No such file or directory
我的问题是什么?如果我错误地使用了xargs
?
2条答案
按热度按时间cczfrluj1#
您有xargs在管道中运行。因此,它运行在一个单独的进程中,不能改变“父”shell的环境。
此外,xargs使用命令,而不是shell内置。
你需要这样做:
或
vmjh9lq92#
我发现了这个:
下面简单的解决方案为我工作
或以下