Risposte:
Aggiorna la richiesta di eco alla Directory di lavoro corrente (CWD) ed è definita in /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"
}
xtermcodice di controllo per impostare il testo della barra del titolo. La documentazione più accessibile è forse il Linux Bash Prompt Howto . Esiste una vera documentazione nelle xtermfonti, IIRC.
/etc/bashrc_Apple_Terminal(trovata tramite un trucco appreso qui ). Ma trovo che all'interno di una sessione dello schermo, $ PROMPT_COMMAND diventa una stringa vuota, il che significa che /etc/bashrc_Apple_Terminalprobabilmente non viene più eseguito. Sai perché?
/etc/bashrc, usa la variabile $TERM_PROGRAMper determinare il terminale ed eseguire un corrispondente /etc/bashrc_$TERM_PROGRAMse esiste. Quindi nella sessione dello schermo, $TERM_PROGRAMprobabilmente non è impostato o è impostato su qualcosa di diverso Apple_Terminal.
Stringa di formato codificata segreta opaca, '\ e] 7;% s \ a'. Sospettare.
local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}"
Da quello che ho raccolto, "file: // $ HOSTNAME" è mascherato, quindi non puoi vedere il protocollo remoto: lo spionaggio dell'host.
update_terminal_cwdnon è una variabile d'ambiente, è il nome di una funzione. È definito in chiaro /etc/bashrce la printffunzione non ha la possibilità di fare nulla tranne stampare stringhe formattate sullo schermo. Infine, il collegamento volgare che hai pubblicato comporta l'esecuzione di funzioni arbitrarie aggiungendo del testo a una definizione di variabile d'ambiente ... che non ha nulla a che fare con tutto ciò che viene discusso qui. E i browser hanno a che fare con gli script di shell?
typeset -fti mostrerà tutte le funzioni "definite dall'utente" ed è così che è spuntato. Se stessero provando a fare qualcosa di abbozzato, non lo renderebbero facilmente visibile.