web-dev-qa-db-fra.com

Exécution de la commande tftp sans entrer en ligne de commande tftp

Je veux exécuter la commande tftp sans entrer dans la "tftp ligne de commande".

J'ai essayé les commandes ci-dessous:

tftp xx.xx.xx.xx -c put file1 file2
tftp xx.xx.xx.xx -m binary -c file1 file2

Mais j'ai eu:

usage:tftp Host-name [port]
tftp>

Après le message "usage:", entrez la ligne de commande tftp.

Je l'ai essayé avec l'option verbeuse activée.

Je veux juste savoir si la commande que j'ai donnée a fonctionné correctement. Le message "usage:" donne l'impression que ce n'est pas l'utilisation correcte de la commande tftp.

Cette commande doit être appelée à partir d'un fichier Bash qui sera appelé à partir d'une application CLI sur laquelle je travaille.

J'ai suivi les conseils sur ce lien: https://superuser.com/questions/581812/put-file-with-tftp-client-in-linux

3
runner

Vous pouvez utiliser heredoc (<<) pour entrer les commandes à exécuter l'une après l'autre:

tftp Host <<'EOF'
Enter
Commands
Here
EOF

Exemple:

$ tftp localhost <<'EOF'
> ascii
> status
> quit
> EOF

tftp> tftp> Connected to localhost.
Mode: netascii Verbose: off Tracing: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> 

$ 

Si vous souhaitez utiliser la commande tftp

get file1 /home/foobar/test.txt

tu peux faire:

$ tftp Host <<'EOF'
> get file1 /home/foobar/test.txt
> quit
> EOF
4
heemayl