Passe-a em uma variável $LC_xxx
, que é aquela com a qual o ssh
geralmente passa:
LC_MY_USER=$1 ssh "${w100user}@web100" '
ls -l "$(grep -F "$LC_MY_USER" /etc/pure-ftpd/pureftpd.passwd|cut -d: -f6)"'
Ou talvez de forma mais robusta:
LC_MY_USER=$1 ssh "${w100user}@web100" '
ls -l -- "$(awk -F: "/\ == ENVIRON[\"LC_MY_USER\"] {print \; exit}
" /etc/pure-ftpd/pureftpd.passwd)"'
(supondo que você queira verificar $1
em relação ao primeiro campo no arquivo de senha).
Você poderia fazer:
ssh "${w100user}@web100" '
ls -l "$(grep -F "'"$1"'" /etc/pure-ftpd/pureftpd.passwd|cut -d: -f6)"'
para que o shell local expanda $1
, mas esteja ciente de que é potencialmente perigoso, pois é interpretado como código de shell pelo shell remoto (por exemplo, $1
sendo $(rm -rf /)
). Então você teria que sanitizar $1
primeiro.