Praticamente todos os Linuxes usam versões GNU dos comandos originais do Unix como ps
, que, como você observou, suporta as opções de estilo BSD e AT & T.
Como seu objetivo declarado é apenas compatibilidade entre os Linuxes, isso significa que a resposta é: "Não importa".
Embutidos e outras variantes muito pequenas do Linux normalmente usam BusyBox ao invés das ferramentas GNU, mas no caso de ps
, isso realmente não afeta a resposta, já que a versão do BusyBox é tão despojada que não pode ser chamada de AT & Tish nem BSDish.
Com o tempo, outros sistemas Unixy reduziram as diferenças de compatibilidade ps
. Mac OS X - que deriva indiretamente do BSD Unix e em geral se comporta de maneira mais semelhante ao BSD Unix ainda - aceita tanto AT & Tish quanto BSDish ps
flags.
O Solaris / OpenIndiana também se comporta dessa maneira, embora isso seja menos surpreendente porque tem uma história mista de BSD e AT & T.
FreeBSD, OpenBSD e NetBSD ainda seguem exclusivamente o estilo BSD.
Quanto mais velha for a caixa Unix, mais provável é que ela aceite apenas um estilo de sinalizadores. Você pode passar as diferenças em uma caixa como a que fazemos agora: instalar as ferramentas GNU, se elas ainda não tiverem sido instaladas.
Dito isto, ainda existem armadilhas. A saída ps
geralmente não deve ser analisada em scripts que precisam ser portáveis, por exemplo, já que os sistemas Unixy variam em quais colunas estão disponíveis, a quantidade de dados que o sistema operacional está disposto a tornar visível para usuários não-root, etc.
(A propósito, note que é "BSD vs. AT & T", não "BSD vs. Unix". O BSD Unix ainda é UNIX®. O BSD Unix compartilha um histórico de desenvolvimento direto com a ramificação AT & A original. Esse compartilhamento também acontece nos dois sentidos: a AT & T e seus sucessores trouxeram as inovações da BSD para casa em vários pontos de sua história. A unificação ao longo do tempo é em parte devido aos esforços do The Open Group e seus predecessores.