Existem muitas citações no comando ssh.
Use o seguinte:
ssh -t -t -o StrictHostKeyChecking=no $USERNAME@${ENVIRONMENT_ARRAY[i]} "date -s '$1 $2 $3 $4'"
também altere o tsring com a chamada de função change_date para:
change_date $1 $2 $3 $4
Eu tenho que mudar a data depois de um login SSH na máquina, mas não consigo alterá-la. Aqui está o script que escrevi:
#!/bin/bash
ENVIRONMENT_LIST=environment_ip_list
USERNAME=root
declare ENVIRONMENT_ARRAY
mdate="$#"
readIp()
{
while read IP
do
ENVIRONMENT_ARRAY[$env_count]="$IP"
let env_count++
done < $ENVIRONMENT_LIST
}
change_date()
{
for ((i = 0; i < env_count; i++))
do
ssh -t -t -o StrictHostKeyChecking=no $USERNAME@${ENVIRONMENT_ARRAY[i]} "'date -s "$1 $2 $3 $4"'"
done
}
readIp
change_date
Em um terminal, recebo esta saída:
~/Desktop/changedate_script $ ./change.sh 04 SEP 2012 10:36:00
[email protected]'s password:
bash: date -s : command not found
Connection to 192.168.12.160 closed.
Existem muitas citações no comando ssh.
Use o seguinte:
ssh -t -t -o StrictHostKeyChecking=no $USERNAME@${ENVIRONMENT_ARRAY[i]} "date -s '$1 $2 $3 $4'"
também altere o tsring com a chamada de função change_date para:
change_date $1 $2 $3 $4
Tags bash shell-script