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"
}
xterm
codice 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 xterm
fonti, 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_Terminal
probabilmente non viene più eseguito. Sai perché?
/etc/bashrc
, usa la variabile $TERM_PROGRAM
per determinare il terminale ed eseguire un corrispondente /etc/bashrc_$TERM_PROGRAM
se esiste. Quindi nella sessione dello schermo, $TERM_PROGRAM
probabilmente 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_cwd
non è una variabile d'ambiente, è il nome di una funzione. È definito in chiaro /etc/bashrc
e la printf
funzione 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 -f
ti mostrerà tutte le funzioni "definite dall'utente" ed è così che è spuntato. Se stessero provando a fare qualcosa di abbozzato, non lo renderebbero facilmente visibile.