Como usar a variável $ dentro do comando de aspas simples e duplas

0

Eu tenho um script bash com o seguinte:

USERLIST="/tmp/adusers.list.names.only.txt"
cat $USERLIST | while read users
do
num=$[$num+1]
USR='echo $users | awk '{print $1}''
STATUS='winexe -U DC/ID%"PASS" //10.0.0.1 'powershell.exe -command "import-module activedirectory; Get-ADUser $USR -Properties * | select Enabled"''
echo "$USR : $STATUS"
done

Mas o comando não está recebendo o nome do usuário, em vez disso, mostra $USR variable.

winexe -U DC/ID%"PASS" //10.0.0.1 'powershell.exe -command "import-module activedirectory; Get-ADUser $USR -Properties * | select Enabled"'

Eu tentei citar duas vezes como "$VAR" , mas não uso.

    
por Syed Jahanzaib 13.02.2017 / 13:11

1 resposta

2

Parece que a parte $USR na chamada winexe não está sendo traduzida para a variável porque está dentro de uma cotação única ( ' )

Tente alterar a linha

STATUS='winexe -U DC/ID%"PASS" //10.0.0.1 'powershell.exe -command "import-module activedirectory; Get-ADUser $USR -Properties * | select Enabled"''

em

STATUS='winexe -U DC/ID%"PASS" //10.0.0.1 'powershell.exe -command "import-module activedirectory; Get-ADUser '"$USR"' -Properties * | select Enabled"''

para escapar da aspa simples, insira uma aspa dupla e, assim, insira o valor da variável.

    
por 13.02.2017 / 17:02