O snippet que você postou é POSIX-legal e deve ser executado corretamente em dash
como está. Eu não entendo o ponto de extinguir if
s e substituí-los por one-liners, já que ele não realiza muito além de ocasionalmente tornar o código mais difícil de ler. No entanto, nesse caso, como é apenas uma única linha, você pode simplesmente excluir if
, ; then
e fi
e substituir a ; then
por &&
, ou seja,
which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS" &&
eval 'dbus-launch --sh-syntax --exit-with-session'
deve ser funcionalmente equivalente ao trecho na questão. Além disso, se é isso que você quer dizer com "taquigrafia", não acho que seja um termo universal ou padrão e não economize muitos caracteres de digitação. A conversão de um comando if
compound para uma lista seria uma descrição mais precisa.