Questão Comando do terminal para incluir o usuário atualmente conectado


Eu estou tentando escrever um script que faz com que nosso administrador local de rede (diretório ativo) usuários 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 economizaria um monte de 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


1


origem


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"prints" hoje é sexta-feira, 9 de maio 12:56:46 BRT 2014 "Edit: eu rodei o comando" date "nos backticks, no comando acima. SE aparentemente renderiza esses exemplos de código, então você não pode vê-los no meu exemplo. - Frank Thomas


Respostas:


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.


1



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