[英]Redirecting STDERR on login
我有一個所有用戶都會自動定向到的菜單系統。 這是通過更改 /etc/passwd 中的 shell 屬性以指向一個腳本來完成的,該腳本提供配置文件並通常在調用主程序之前設置環境。
例如,商店經理將是這樣的:
strmgr:x:1234:1234:Store Manager:/home/storeuser:/opt/menu/start_menu.sh
我正在尋找一種將STDERR從登錄過程捕獲到文件的方法,然后我可以在菜單腳本本身中查詢該文件,並根據需要顯示重要部分。
我最初的想法是在腳本頂部添加exec &2>/tmp/$$.stderr
但這並不像我希望的那樣工作。 仍有系統生成的消息被菜單顯示所掩蓋。 我猜它們是在調用此腳本之前生成的,即使我沒有使用“正常” shell 和 .profile 啟動。
有誰知道如何做到這一點? 我搜索了谷歌並沒有發現任何東西。
就像這樣:
exec 2>/tmp/$$.stderr
&
是2>&1
的簡寫(將STDERR
重定向到STDOUT
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.