必须在 $PATH 上设置很多路径,然后编写此代码从文本文件加载它:
#!/bin/bash
cd ~
echo '#++++++' >> ./pathlstbkp
cat ./pathlst >> ./pathlstbkp
while read pth; do
cmd='export PATH="'$pth':$PATH"'
eval ${cmd}
done < ./pathlst
echo '' > ./pathlst
如你看到的描述在这里使用 eval 时,评估的命令不会在子 shell 上运行。
但它不会更改 $PATH 变量。
现在意识到发生了一些奇怪的事情,它在我的测试 Ubuntu-LTS18-Minimal-X64 上不起作用,但在我的主机 Debian9 上起作用。
答案1
我删除了虚拟机,然后再次执行了同样的操作,现在可以正常工作了,可能是环境出了问题