我已经开始使用本指南学习 bash 脚本:http : //www.tldp.org/LDP/abs/abs-guide.pdf
但是我被困在第一个脚本上:
cd /var/log
cat /dev/null > messages
cat /dev/null > wtmp
echo "Log files cleaned up."
Run Code Online (Sandbox Code Playgroud)
第 2 行和第 3 行在 Ubuntu 中做什么(我理解cat)?它仅适用于其他 Linux 发行版吗?以 root 身份运行此脚本后,我得到的输出是Log files cleaned up.但/var/log仍包含所有文件。
我最近在这里找到了解决我的问题的方法,但我无法完全理解此命令中的所有内容的含义:
xdg-open "$@">/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud) 大多数时间gtk从命令行运行应用程序,它开始将调试信息转储到stdout即使我将它们置于后台。
例子:
~$ gedit test.html # and ctrl+z to suspend
zsh: suspended gedit .zshrc
~$ bg
[1] + continued gedit .zshrc
~$
# do some editing
(gedit:6208): GtkSourceView-WARNING **: Could not find word to remove in buffer (whoosh), this should not happen!
(gedit:6208): GtkSourceView-WARNING **: Could not find word to remove in buffer (haystack), this should not happen!
Run Code Online (Sandbox Code Playgroud)
我想指出错误或警告会根据我目前正在做的事情而变化。这里GtkSourceView-WARNING显示的是其中一种情况。
无论如何......你知道是否有可能避免打印出这些信息?