Gostaria de saber como escrever se as condições contidas em um script bash em uma única linha.
Por exemplo, como posso escrever isso em uma única linha e depois colocar outra igual na próxima?
if [ -f "/usr/bin/wine" ]; then
export WINEARCH=win32
fi
Eu pergunto isso porque tenho alguns aliases no meu .bashrc e tenho o mesmo .bashrc (sincronizado) em vários sistemas, mas não preciso de todos os aliases em cada sistema. Coloquei a maioria delas dentro de instruções if, e agora está tudo funcionando muito bem, mas elas ocupam muito espaço, 3 linhas cada mais a linha em branco entre elas (eu gosto de tê-las facilmente visíveis)
Também usarei essa técnica para variáveis de ambiente também.
linux
command-line
bash
bashrc
Horațiu Mlendea
fonte
fonte
[ -f "/usr/bin/wine" ] && export WINEARCH=win32
Respostas:
Você escreveria assim:
Observe que isso também pode ser escrito (como sugerido por @glennjackman):
fonte
Eu também acho que apenas digitando qualquer comando complexo se for o caso, pressione enter e, depois de executado, pressione a seta para cima. A linha de comando repetirá o último comando digitado, é claro, mas, neste caso, coloca tudo em uma linha conforme necessário. É uma maneira de trapacear, mas é eficaz.
fonte