为什么"gnome-screensaver-command -q > test.txt"不输出到文件?
Why "gnome-screensaver-command -q > test.txt" do not output to file?
简而言之,我正在寻找命令输出未到达文件的解释。如果我在这里做错了什么,我该如何正确地做才能使输出到达文件?
命令:
gnome-screensaver-command -q > test.txt
TL;TR
起初,短篇小说,我的目的是为 bash 脚本找到一种方法来判断某人是否在计算机上工作(屏幕已解锁)或不在(屏幕已解锁)锁定)。看来我已经找到了命令 (gnome-screensaver-command -q
),也许,还不确定,因为我无法用脚本真正检查 locked/unlocked 阶段..
如果我在终端屏幕中 运行 命令 gnome-screensaver-command -q
然后我会按预期返回输出。输出表明我使用以下命令走在正确的道路上:
** Message: 00:06:00.049: Screensaver is not running!
如果我 运行 脚本中的相同代码并将结果输出到变量 IS_SCREEN_LOCKED=$(gnome-screensaver-command -q)
那么我什么也得不到。我的意思是, $IS_SCREEN_LOCKED
变量的值是空。
如果我在终端中 运行 gnome-screensaver-command -q > test.txt
然后 ** Message: 00:06:00.049: Screensaver is not running!
到达屏幕并且没有任何东西到达文件......这告诉我重定向本身工作正常(因为文件已创建),只是命令有所不同...有人可以解释一下这里的输出有什么技巧吗?
我怀疑它是某种“不同类型的流”。是否有一种流,不确定这是否适合它,称为“查询”,如 man
所述 -q - Query the state of the screensaver
?... 不确定将输出定向到此处文件的命令有什么问题。
系统详情:
- Ubuntu 20.04.1 LTS(焦点窝)
- GNU bash,版本 5.0.17(1)-release (x86_64-pc-linux-gnu)
- gnome-屏幕保护程序命令 3.6.1
它可能正在写入 stderr 而不是 stdout。所以重定向 fd 2 而不是 fd 1。
gnome-screensaver-command -q 2> test.txt
简而言之,我正在寻找命令输出未到达文件的解释。如果我在这里做错了什么,我该如何正确地做才能使输出到达文件?
命令:
gnome-screensaver-command -q > test.txt
TL;TR
起初,短篇小说,我的目的是为 bash 脚本找到一种方法来判断某人是否在计算机上工作(屏幕已解锁)或不在(屏幕已解锁)锁定)。看来我已经找到了命令 (gnome-screensaver-command -q
),也许,还不确定,因为我无法用脚本真正检查 locked/unlocked 阶段..
如果我在终端屏幕中 运行 命令 gnome-screensaver-command -q
然后我会按预期返回输出。输出表明我使用以下命令走在正确的道路上:
** Message: 00:06:00.049: Screensaver is not running!
如果我 运行 脚本中的相同代码并将结果输出到变量 IS_SCREEN_LOCKED=$(gnome-screensaver-command -q)
那么我什么也得不到。我的意思是, $IS_SCREEN_LOCKED
变量的值是空。
如果我在终端中 运行 gnome-screensaver-command -q > test.txt
然后 ** Message: 00:06:00.049: Screensaver is not running!
到达屏幕并且没有任何东西到达文件......这告诉我重定向本身工作正常(因为文件已创建),只是命令有所不同...有人可以解释一下这里的输出有什么技巧吗?
我怀疑它是某种“不同类型的流”。是否有一种流,不确定这是否适合它,称为“查询”,如 man
所述 -q - Query the state of the screensaver
?... 不确定将输出定向到此处文件的命令有什么问题。
系统详情:
- Ubuntu 20.04.1 LTS(焦点窝)
- GNU bash,版本 5.0.17(1)-release (x86_64-pc-linux-gnu)
- gnome-屏幕保护程序命令 3.6.1
它可能正在写入 stderr 而不是 stdout。所以重定向 fd 2 而不是 fd 1。
gnome-screensaver-command -q 2> test.txt