29 votes

Que fait update_terminal_cwd dans le terminal d'OS X ?

Cela me laisse perplexe depuis un certain temps déjà. Sur $PROMPT_COMMAND du bash dans OS X, il y a une commande appelée update_terminal_cwd . Je suis sûr qu'il ne s'agit pas d'une fonction intégrée à Bash, et qu'elle n'existe probablement que dans OS X. Mais je ne sais pas ce qu'elle fait exactement. Quelqu'un le sait ?

34voto

KTamas Points 291

Elle met à jour l'invite afin d'afficher le répertoire de travail actuel (CWD) et est définie dans le fichier /etc/bashrc :

update_terminal_cwd() {
    # Identify the directory using a "file:" scheme URL,
    # including the host name to disambiguate local vs.
    # remote connections. Percent-escape spaces.
    local SEARCH=' '
    local REPLACE='%20'
    local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}"
    printf '\e]7;%s\a' "$PWD_URL"
}

-16voto

user982671 Points 87

Chaîne de format codée secret opaque, ' \e ]7;%s \a '. Suspect.

local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}"

D'après ce que j'ai compris, "file://$HOSTNAME" est masqué pour qu'on ne puisse pas voir l'espionnage à distance du protocole et de l'hôte.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X