С помощью ZSH вы можете «выполнять расширение параметров, подстановку команд и арифметическое расширение» с помощью флага расширения параметра (e)
для чего-либо в заданная переменная x
(подробнее см. zshexpn (1)
):
x='$HOME/blablah'; echo $x; echo ${(e)x}
Или из файла:
echo '$HOME/fromfile' > afile
echo ${(e)$(<afile)}
Это имеет различные преимущества перед eval
, в зависимости от того, у кого есть доступ к файлу конфигурации и насколько они непослушны:
$ touch somefile
$ echo 'hi; rm somefile' > x
$ eval "echo `cat x`"
hi
$ ls somefile
ls: somefile: No such file or directory
$ exec zsh
% touch somefile
% echo ${(e)$(<x)}
hi; rm somefile
% ls somefile
somefile
%
включить модуль ядра с помощью
modprobe overlay
или добавить оверлей в systemd:
echo "overlay"> /etc/modules-load.d/overlay.conf
и перезапустить