Shell:展开常规文件中的$ HOME

问题描述

我将命令存储在文件中,以供POSIX Shell程序逐行读取和运行。看起来像这样:

curl -fLo $HOME/.antigen.zsh git.io/antigen
curl -fLo $HOME/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
vim +"so $HOME/.vimrc" +PlugInstall +qa!

我也在使用这个小的函数体来遍历它并运行每一行:

while read -r line; do
    $line
done < file

简单的东西。而且有效!但是,我无法将$HOME扩展到我的主目录(和~)。我尝试使用exec子外壳并将-rread循环中删除,但是curl语句创建了一个'$HOME'目录,这不是我想要的目录要这样做,我希望这些命令以我的/home/.\+/目录为目标。

由于这是一个奇怪的问题,并且您可能会想知道(我当然会),所以这不是XY问题。我花了相当多的时间设计此软件,并确定我需要将这些命令存储在文件中以使我的程序正常工作,除非事实证明这是绝对不可能的,否则我不会考虑这样做。 。另外,我自己不会扩展$HOME,因为我希望这些命令可以在其他用户的计算机上使用。

有什么想法吗?预先感谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)