Você escreveria assim:
if [ -f "/usr/bin/wine" ]; then export WINEARCH=win32; fi
Note que isto também pode ser escrito (como sugerido por @glennjackman):
[ -f "/usr/bin/wine" ] && export WINEARCH=win32
Gostaria de saber como posso escrever as condições dentro de um script bash em uma única linha.
Por exemplo, como posso escrever isso em uma única linha e depois colocar outra como esta no próximo?
if [ -f "/usr/bin/wine" ]; then
export WINEARCH=win32
fi
Pergunto isso porque tenho alguns aliases em meu .bashrc e tenho o mesmo .bashrc (synced) em vários sistemas, mas não preciso de todos os aliases em cada sistema. Eu coloquei a maioria deles dentro de declarações, e está tudo funcionando perfeitamente agora, mas eles ocupam muito espaço, 3 linhas cada, mais a linha em branco entre eles (eu gosto de tê-los facilmente visíveis)
Também usarei essa técnica para variáveis de ambiente.
Eu também acho que basta digitar qualquer comando if then else, tecle enter, e depois que ele for executado, aperte a seta para cima. A linha de comando irá repetir o último comando digitado, claro, mas neste caso, coloca tudo em uma linha como você exige. É um truque, mas é eficaz.
Tags command-line bash bashrc linux