awk
funciona de maneira diferente no Solaris - a versão disponível em /usr/bin
não suporta a opção -v
. Use nawk
para uma versão mais parecida com POSIX.
O segundo problema é que, como você já percebeu, há apenas uma linha. Não tente escrever one-liners se não for absolutamente necessário; comandos legíveis são mais fáceis de corrigir. Se você tiver que colocar o comando em um arquivo de configuração em algum lugar - coloque-o em um script .sh
.
Não use $USER
como uma variável temporária; muitos programas esperam que essa variável específica contenha o nome de login do seu . Escolha algo como $user
.
Não analise /etc/group
quando houver ferramentas que fazem isso para você, como groups
. (Além de tornar o código mais simples, eles também trabalham com contas não locais.)
#!/bin/sh
user=myUser
group=myGroup
oldgroups=$(groups "$user" | sed "y/ /,/")
usermod -G "$oldgroups,$group" "$user"
ou se você insistir
user=myUser && sudo usermod -G "$(groups "$user" | sed "y/ /,/"),myGroup" "$user"