Odpowiedzi:
Aktualizuje monit o echo bieżącego katalogu roboczego (CWD) i jest zdefiniowany w /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"
}
xtermkod kontrolny do ustawiania tekstu paska tytułu. Najbardziej dostępną dokumentacją jest być może Linux Bash Prompt Howto . W xtermźródłach znajduje się prawdziwa dokumentacja , IIRC.
/etc/bashrc, używa zmiennej, $TERM_PROGRAMaby określić terminal i uruchomić odpowiedni, /etc/bashrc_$TERM_PROGRAMjeśli istnieje. Więc w sesji ekranowej $TERM_PROGRAMprawdopodobnie nie jest ustawiony lub jest ustawiony na coś innego niż Apple_Terminal.
Nieprzezroczysty ciąg formatu zakodowanego tajnego „\ e] 7;% s \ a”. Posądzać.
local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}"
Z tego, co zbieram, „file: // $ HOSTNAME” jest maskowany, więc nie widzisz protokołu zdalnego: szpiegostwo hosta.
update_terminal_cwdnie jest zmienną środowiskową, to nazwa funkcji. Jest on zdefiniowany w postaci zwykłego tekstu, /etc/bashrca printffunkcja nie może nic robić poza drukowaniem sformatowanych ciągów na ekranie. Wreszcie, opublikowany przez ciebie link do wulgaryzmów polega na wykonywaniu dowolnych funkcji poprzez dołączanie tekstu do definicji zmiennej środowiskowej ... która nie ma nic wspólnego z niczym, co jest tutaj omawiane. I czy wtf mają do czynienia ze skryptami powłoki?
typeset -f, pokaże wszystkie funkcje zdefiniowane przez użytkownika i tak to się pojawiło. Gdyby próbowali zrobić coś szkicowego, nie zrobiliby tego łatwo.