[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

dúvida, shell script (bash)



Oi pessoal.
estou com um probleminha em um script que eu fiz.

--------------------------------------------------------Script------(aaa.sh)------------------------------------------------------
#!/bin/bash
# Script para verificar se 1 até 50 usuários estão logados no sistema
# Este script gera um log em /home/fo0x/teste/log_script1

#variáveis
users=/home/fo0x/teste/users
lixo=/home/fo0x/teste/lixo
log=/home/fo0x/teste/log_script1
n=1
x=$

#usuários do sistema
echo "`cut -f1 -d : /etc/passwd | sort | more`" > $users

#$*
while [ $n -le 50 ]
do
{ if cat $users | grep $x$n > $lixo 2> $lixo
 then
  { if who | grep $x$n > $lixo
     then
      echo "$x$n está logado no sistema"
      echo "$x$n está logado no sistema:::`date`:::`whoami`" >> $log
     else
      echo "$x$n não está logado no sistema"
      echo "$x$n não está logado no sistema:::`date`:::`whoami`" >> $log
    fi }
 else
  echo "" > $lixo
fi }
n=`expr $n + 1`
done
------------------------------------------------------------------fim do script--------------------------------------------------------------
bom, isso é script para verificar se usuários (no máx. 50) estão logados no sistema e gravar um log dos users logados ou não, a data e quem executou o script.
tipo, isso é uma pesquisa.
ex: ./aaa.sh fo0x gabriel paulo roberto
ira procurar pelos usuários: fo0x, gabriel, paulo, roberto. Se eles fizerem parte do sistema eles vão ser citados no log, dizendo se estão logados ou não.

problema: $x$n
quando n=1 : $x$n => $1
quando n=2 : $x$n => $2
e assim por diante, até chegar em 50.
porem esse $1, $2, não estão sendo reconhecidos como o parametro 1, parametro 2, ...
o $1, $2, ...., está saindo como caractere e não como o parametro 1, parametro 2, ...
no exemplo: parametro 1 => fo0x  |  parametro 2 => gabriel  | (...)
so que ao inves do $1 indicar o parametro 1, que é fo0x, ele sai no comando como caractere normal $1, e não como o caractere especial $1, que indica o primeiro parametro.

alguem ai pode me ajudar ?

vlw, gabriel.


Reply to: