$BROWSER
é entendido por vários utilitários como sendo o seu navegador da Web de sua preferência.
Dependendo do utilitário, espera-se que ele contenha:
- o caminho ou o nome do executável
- uma lista de palavras cujo primeiro é o caminho ou nome e os outros uma lista de argumentos iniciais. Se você tiver sorte, também entenderá alguma forma de citar semelhante ao que as shells fazem.
- (muito improvável e seria uma coisa muito imprudente) o início de uma linha de comando do shell.
Se você estivesse no primeiro caso, esperaria que o utilitário em que você tentou se queixasse de um comando "lynx -cfg=~/.lynx.cfg"
inexistente.
No terceiro caso, observe que os shells não expandem o ~
em -cfg=~/.lynx.cfg
. zsh
apenas faz isso quando a opção magicequalsubst
está ativada. bash
apenas expande um ~
após um =
se o que está à esquerda de =
se parece com um nome de variável válido e não está no modo POSIX.
No entanto lynx
(pelo menos versão 2.8.9dev.16 no meu sistema) parece entender ~
como significando o diretório pessoal de uma pessoa, então eu esperaria que você trabalhasse para utilitários no segundo e terceiro categoria.
$ BROWSER='echo -cfg=~' sensible-browser foo
-cfg=~ foo
Assim, o seu navegador é da categoria quarto que ignora qualquer coisa, exceto a primeira palavra, ou apenas dá uma dica sobre o que é seu navegador; ou a sua versão de lynx
não entende ~
como significando casa.
Execute seu utilitário como strace -fe execve the-utility
para ver o que ele tenta executar.
No caso de suas versões de lynx
não tratarem ~
como home, você pode definir $BROWSER
como:
export BROWSER="lynx -cfg=$HOME/.lynx.cfg"
(assumindo $HOME
não contém espaços em branco ou aspas (ou outros caracteres especiais para um shell))
Em qualquer caso, você deve poder definir $BROWSER
como um script que passa os parâmetros corretos para lynx
, como:
#! /bin/sh -
exec lynx -cfg="$HOME/.lynx.cfg" "$@"
e use isso como seu $BROWSER
.
Por acaso, se o seu $HOME
começou com ~
caracteres, isso enganaria lynx
, e é por isso que não é uma boa ideia que lynx
manipule esses ~
por si só. / sup>