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"
}
xtermBaşlık çubuğu metnini ayarlamak için bir kontrol kodudur. En erişilebilir belgeler belki de Linux Bash Prompt Howto'dur . xtermKaynaklarda 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_Terminalmuhtemelen artık yürütülmediğini bulmak. Neden biliyor musun?
/etc/bashrciçin değişkeni kullanır . Yani ekran oturumunda, muhtemelen ayarlanmamış veya başka bir şeye ayarlanmış . $TERM_PROGRAM/etc/bashrc_$TERM_PROGRAM$TERM_PROGRAMApple_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_cwdbir ortam değişkeni değil, bir işlevin adıdır. Düz metin olarak tanımlanır /etc/bashrcve printfiş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ı.