Usando $ em uma senha

4

Vamos supor que a senha do meu servidor é Abcd$1234

Eu estou tentando ftp um arquivo de outro servidor para o meu servidor usando o seguinte no script de shell

ftp -inv (IP) << EOF
user Username Abcd$1234

"lines to ftp file"

bye

Não consigo fazer ftp. Tentei substituir a senha como Abcd\34 e também "Abcd\34" , mas não uso.

Mas eu consigo acessar meu servidor sem ftp (apenas para verificar se a senha é válida ou não)

Alguém pode me ajudar? Quero usar $ na minha senha a qualquer custo

    
por Shreyash 15.08.2014 / 14:51

2 respostas

1

Aqui documentos. cat <<EOF seguido por várias linhas de texto, seguidas pela string literal EOF em uma nova linha, NÃO recuada. A porção entre os EOFs é passada para o comando como entrada padrão. Se 'EOF' for 'citado', as substituições NÃO serão feitas; do contrário eles são. Consulte < < - para a variedade indentada.

Então ..

    ftp -inv (IP) <<'EOF'
    user Username Abcd$1234

    "lines to ftp file"

    bye
   EOF

deve funcionar e tratará $ como literal $ . Não fará referência a ela como sendo uma variável.

    
por 15.08.2014 / 15:20
0

em vez de documentos aqui, tente algo assim:

    pw='Abcd$1234'

    exec 6>&1
    ftp -nvi >&6 2>&6 |&

    print -p open Server
    print -p user User $pw

    "lines to ftp file"

    print -p bye
    
por 15.08.2014 / 15:36