Client FTP della riga di comando confuso da Tilde?

2

Ho notato questo comportamento davvero strano nel client ftp della riga di comando macOS ...

get index.html ~/Desktop/index.html

fallisce se non esiste "index.html" sul desktop con l'errore

ftp: Can't access '~/Desktop/index.html': No such file or directory

ma

get index.html /Users/fweth/Desktop/index.html

riesce! Successivamente, posso anche usare il primo comando per aggiornare il file locale. Qualcuno può spiegarmi questo?

    
posta fweth 20.09.2017 - 19:48
fonte

1 risposta

3

Quello che vedi è un comportamento previsto.

tilde (~) è una parte della sintassi standard della shell questo è sinonimo di directory home dell'utente.

Tilde expansion is the process of converting these abbreviations to the directory names that they stand for.

Quando sei in FTP, non stai usando la tua shell (bash, csh, zsh, ecc.), piuttosto stai usando il client FTP e non ha idea di cosa significhi la tilde e, quindi, non può espanderlo .

~ e HOME sono la stessa cosa. Se esegui il comando

$ echo ~ $HOME

Dovresti ottenere l'output della tua directory home due volte. (Il $ è per espansione variabile)

/Users/fweth /Users/fweth

Trivia

La convenzione sull'uso della tilde (~) deriva dal terminale Lear Siegler ADM-3A che aveva un scorciatoia da tastiera per la HOME degli utenti sullo stesso tasto della tilde.

    
risposta data 20.09.2017 - 20:02
fonte

Leggi altre domande sui tag