Osascript'in ters eğik çizgileri ayrıştırıp bu komutu yeni bir Terminal penceresinde çalıştırmasını nasıl sağlayabilirim?


2

Mac Terminali penceresine yapıştırdığımda düzgün çalışan bir komut:

echo -n -e \\033]0\;My Custom Window Title Here\\007 ; ping www.google.com

Özellikle, Terminalin başlığını "Özel Pencere Başlığım Burada" dizesini içerecek şekilde ayarlar, ardından www.google.com adresine pinglemeye başlar.

Şimdi yapmak istediğim yukarıdaki komutu ayrı bir Terminal penceresinde çalıştırmak yerine, bu yüzden şunu girdim:

osascript -e 'tell app "Terminal" to do shell script "echo -n -e \\033]0\;My Custom Window Title Here\\007 ; ping www.google.com"'

… Ama anladığım tek şey bu hatadır:

dyld: DYLD_ environment variables being ignored because main executable
(/usr/bin/osascript) is code signed with entitlements 59:60: syntax error: Expected “"” but found unknown token. (-2741)

Ters eğik çizgilerden kurtulursam, osascript komutu çalıştırır, ancak sonra elbette özel pencere başlığı belirlenmez.

Pss komutumun kendi penceresinde VE özelleştirilmiş bir pencere başlığı ile yürütülebilmesi için bass komutumu osascript'in çözümleyici yoluyla sağlam olarak alabilmemin bir yolu var mı?


“” ”Bekleniyor ancak bilinmeyen bir jeton bulundu ...
Buscar웃

Yanıtlar:


3

Çünkü başka bir yorum katmanından geçiyor, kaçışlardan kaçmanız gerekiyor - esas olarak ters eğik çizgileri ikiye katlamanız gerekiyor:

osascript -e 'tell app "Terminal" to do script "echo -n -e \\\\033]0\\;My Custom Window Title Here\\\\007 ; ping www.google.com"'

Kabuk betiği bir Terminal komutu değildir. Bunun yerine "script komutunu" kullanın.
adayzdone

@ adayzdone: iyi nokta. "kabuk komut dosyası yap", Terminal tarafından çalıştırılabilen ve sıralayabilen veya çalışabilen ... yerleşik bir AppleScript komutudur. Kod pasajını düzenledim.
Gordon Davisson
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.