Girişte Terminal mesajını görüntüle
### this is a test ###Yeni bir Terminal penceresinin açık olduğu zamana benzer bir şey görüntülemek istiyorum (ve ideal olarak, kolayca devre dışı bırakılabilecek bir şekilde). Linux'ta bu basitti; yeni bir Terminal oturumu açıldığında mesajdan /etc/profile.d/sorumlu olacak bir komut dosyası oluşturursunuz echo.
Bunun işe yaraması için launchd ile uğraşıyorum ama boşuna. Kullanıcı oturum açtığında bir çıktı almayı umarak /Library/LaunchAgents/org.test.greeting.plistaşağıdaki kodla (burada karşılama.sh dosyası bunu yapmaktan sorumludur echo) bir aracı oluşturdum .
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.test.greeting</string>
<key>ProgramArguments</key>
<array>
<string>/Users/test/greeting.sh</string>
</array>
<key>RunAtLoad</key><true/>
</dict>
</plist>
Mesaj etere kaybolduğu için bu işe yaramadı. Ancak, aracının başarılı bir şekilde çalıştığını biliyorum. Bunun bir dosyaya çıktı kullanarak yönlendirmek mümkündür biliyorum StandardErrorPathve StandardOutPathancak bu bana faydalı değildir.
Bunu nasıl çalıştıracağını bilen var mı launchd, yoksa bunu yapmanın başka bir yolu var mı?
Yanıtlar
Bunun için günün mesajını beğendim. Geleneğin belirttiği gibi ...
me@Mac ~ % echo "Welcome to the University of East Westia" > /tmp/motd
me@Mac ~ % sudo mv /tmp/motd /etc
Not: / etc / motd yalnızca macOS'taki Terminal.app için tipik olan bir oturum açma kabuğunda görüntülenir. Genelde oturum açma olmayan kabuklar çalıştırıyorsanız, kabuk nokta dosyalarınızda / etc / motd görüntüsünü işlemelisiniz.
Nokta dosyalarınızı düzenlemeyi denediniz mi?
Referans olarak, ~/.zshrcbende en üstte komut var neofetch. Aslında, bu sadece kabuğunuzdan çalıştırabileceğiniz bir komuttur. Bu şekilde, ne zaman yeni bir iTerm2 / Terminal penceresi veya sekmesi başlatsam, komutu çalıştırıyor ve bunu görüntülüyorum.
Aynısı, yapılandırma dosyanızın üstüne aşağıdaki gibi bir şey yazarak da yapılabilir: echo "### this is a test ###"