Logkeys 不支持-o -
作为标准输出(它会生成一个名为 的文件-
)。知道如何将其输出文件重新定向到标准输出吗?这也不起作用:
sudo logkeys -m colmak.us.map -o /dev/stdout -s
logkeys: Error opening output file '/dev/stdout': No such file or directory
Logkeys 不支持-o -
作为标准输出(它会生成一个名为 的文件-
)。知道如何将其输出文件重新定向到标准输出吗?这也不起作用:
sudo logkeys -m colmak.us.map -o /dev/stdout -s
logkeys: Error opening output file '/dev/stdout': No such file or directory
您可以创建一个临时命名管道或文件,然后 cat 该文件,或 tail -f 该文件,
包装你的命令,
sudo logkeys -m colmak.us.map -o /dev/stdout -s
在一个检查文件名参数的 shellscript 中,或者使用提供的文件,或者为标准输出(“-”或“/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
研究表明,logkeys
使用. 我认为您需要确保您的版本是使用. 您是否尝试过使用普通重定向来捕获输出?stdout
stdout.patch