Comando de terminal para incluir o usuário atualmente conectado

1

Eu estou tentando escrever um script que faz com que nosso administrador de rede (diretório ativo) usuários locais em seus macs. Eu tenho o script que fará isso:

dseditgroup -o editar -n / local / padrão -a networkuser -t usuário admin

mas eu estou olhando para substituir 'networkuser' com o usuário conectado no momento, ou até mesmo todos os usuários no computador. A razão para isso é que eu quero empurrar isso para vários computadores usando o Apple Remote Desktop, e isso economizaria muito tempo do que executar o script individualmente por usuário.

Alguém sabe como editar esse script para afetar o usuário conectado no momento ou todos os usuários no computador?

obrigado

jasetech
fonte
faz whoami trabalhar para você em macland? funciona na maioria dos shells linux.
Frank Thomas
whoami (como 'quem sou eu') irá imprimir o usuário atual, mas eu não acho que isso permitirá que o script funcione.
jasetech
como Louis mencionou, na maioria dos shells você pode embutir comandos e outras invocações dentro de uma string de comando usando aspas `` (aquela na tecla til para um teclado americano). por exemplo "echo hoje é date "imprime" hoje é sexta-feira, 9 de maio 12:56:46 BRT 2014 "Editar: eu rodei o comando" data "nos backticks, no comando acima. SE aparentemente renderiza os exemplos de código, então você não pode vê-los no meu exemplo.
Frank Thomas

Respostas:

1

Você poderia tentar o seguinte comando:

dseditgroup -o edit -n /Local/Default -a `whoami` -t user admin

Observe os backticks antes e depois whoami. Estes irão executar o whoami comando e use a saída em seu comando.

Louis Matthijssen
fonte
whoami dará o nome de usuário que o script está rodando como ("root"), não o usuário atualmente logado.
Gordon Davisson