Yanıtlar:
Geçerli Çalışma Dizini'ni (CWD) yankılama istemini güncelleştirir ve şu şekilde tanımlanır /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
Başlık çubuğu metnini ayarlamak için bir kontrol kodudur. En erişilebilir belgeler belki de Linux Bash Prompt Howto'dur . xterm
Kaynaklarda gerçek belgeler var , IIRC.
/etc/bashrc_Apple_Terminal
( burada öğrenilen bir numara ile bulunur ). Ama ben bir ekran oturumu içinde, $ PROMPT_COMMAND boş bir dize haline, yani /etc/bashrc_Apple_Terminal
muhtemelen artık yürütülmediğini bulmak. Neden biliyor musun?
/etc/bashrc
için değişkeni kullanır . Yani ekran oturumunda, muhtemelen ayarlanmamış veya başka bir şeye ayarlanmış . $TERM_PROGRAM
/etc/bashrc_$TERM_PROGRAM
$TERM_PROGRAM
Apple_Terminal
Opak gizli kodlanmış biçim dizesi, '\ e] 7;% s \ a'. Şüpheli.
local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}"
Topladığım şeyden, "file: // $ HOSTNAME" maskeleniyor, böylece uzak protokolü göremiyorsunuz: host casusluk.
update_terminal_cwd
bir ortam değişkeni değil, bir işlevin adıdır. Düz metin olarak tanımlanır /etc/bashrc
ve printf
işlev, ekrana biçimlendirilmiş dizeleri basmak dışında hiçbir şey yapamaz. Son olarak, gönderdiğiniz güvenlik bağlantısı, burada tartışılan herhangi bir şeyle ilgisi olmayan bir ortam değişkeni tanımına metin ekleyerek rastgele işlevlerin yürütülmesini içerir. Ve tarayıcıların kabuk komut dosyası ile ne ilgisi var?
typeset -f
"kullanıcı tanımlı" tüm fonksiyonları gösterecek ve bu böyle ortaya çıktı. Eğer kabataslak bir şey yapmaya çalışıyorlarsa, bunu kolayca görünür kılmazlardı.