Logkeys不支持-o -
作为标准输出(它生成一个名为-
的文件)。知道如何将其输出文件重定向到标准输出吗?这也不起作用:
sudo logkeys -m colmak.us.map -o /dev/stdout -s
logkeys: Error opening output file '/dev/stdout': No such file or directory
答案 0 :(得分:2)
你可以创建一个临时命名管道或文件,然后cat该文件,或者尾随-f文件,
包裹你的命令,
sudo logkeys -m colmak.us.map -o /dev/stdout -s
在一个shellcript中,它检查filename参数,并使用提供的文件,或为stdout构建临时文件(“ - ”或“/ dev / stdout”),
#!/bin/bash
tempfile="nil";
outfile=${1:-"-"};
#generate temporary filename
[[ $outfile == "/dev/stdout" ]] && outfile="-";
[[ $outfile == "-" ]] && outfile=`mktemp` && tempfile=$outfile;
[[ $1 ]] && sudo logkeys -m colmak.us.map -o $tempfile -s
[[ $tempfile != "nil" ]] && cat $tempfile && echo rm $tempfile
回应命令,生成,
$ ./aliasout.sh /tmp/myfile
sudo logkeys -m colmak.us.map -o /tmp/myfile -s
$ ./aliasout.sh /dev/stdout
sudo logkeys -m colmak.us.map -o /tmp/tmp.ghTUwmOzdS -s
rm /tmp/tmp.ghTUwmOzdS
$ ./aliasout.sh -
sudo logkeys -m colmak.us.map -o /tmp/tmp.heRi4ntAM0 -s
rm /tmp/tmp.heRi4ntAM0
答案 1 :(得分:1)
研究表明logkeys
做funny stuff with stdout
。我认为您需要确保使用stdout.patch
构建您的版本。您是否尝试使用常规重定向来捕获输出?