在 Mac OS X 上,您可以通过按住 control 并单击来右键单击。我用 交换了命令和控制键setxkbmap -option altwin:ctrl_win
,但是如何通过按住 control 并单击来右键单击它?我正在使用带有 Debian XFCE 的 Powerbook G4。
更新:
克里斯唐氏答案需要你按下控制并单击正好在同一时间。在 Mac 上,您可以按住control 并单击。
假设ping
命令正在运行,我在终端上输入一些内容,同时ping
仍在运行。
现在,当ping
终止并bash
获得控制权时,bash
将在终端上打印我在ping
运行时输入的内容。这是一个屏幕截图,显示了我的意思:
bash
这个信息是怎么得到的?我确信它不是从 得到的stdin
,因为当我输入时"I typed this while ping was running"
,我没有按下Enter(所以stdin
是空的)。
我只是好奇,如果有办法从中获取输入不StdIn
但是从$EDITOR
-无论是Vim的纳米,emacs的,甚至非命令行编辑器(的MacVim / TextMate的)。有哪些选项/解决方法/最佳实践?
基本上我希望像这样的工作流程heredoc
- 但是来自 $editor 。
$ sort -nr << FOO | uniq -c
pipe heredoc> foo
pipe heredoc> bar
pipe heredoc> baz
pipe heredoc> foo
pipe heredoc> FOO
2 foo
1 baz
1 bar
Run Code Online (Sandbox Code Playgroud) 是否可以从文件和终端获取输入?我想END
在 awk 脚本的部分向用户询问一些问题。
该输入应由用户输入,而不是从包含要处理的数据的文件中读取。
END {
getline choice
if(choice == "Y")
print "OK"
}
Run Code Online (Sandbox Code Playgroud)
但是选择是从输入文件中读取的。
我在 Unix 上有一个二进制文件,它在执行时要求用户输入。这个二进制文件的输入是手动给出的。我想自动化这个过程,因为我已经知道输入了。我无法修改二进制文件。我怎样才能做到这一点 ?这是否可以通过 shell 脚本甚至ant
目标实现?
将多个命令的输出重定向为另一个命令的输入的正确方法是什么?
例如
$ command < (command2 | grep pattern)
Run Code Online (Sandbox Code Playgroud) 我通过添加setxkbmap
对我的.xinitrc
. 这适用于我的膝上型电脑的内部键盘以及 X 服务器启动时插入的任何外部键盘。如果我稍后插入外部键盘,它将使用默认的美国键盘映射。
如何确保我插入的任何键盘都具有我喜欢的布局?
我不确定发生了什么,但我一直试图了解输入和输出发生了什么。所以这是我的程序。
#include <stdio.h>
#include <stdlib.h>
int main(){
char pass[8];
fgets(pass, 8, stdin);
if (pass[1] == 'h'){
printf("enter shell\n");
system("/bin/bash");
printf("leave shell\n");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这里有一些终端命令。当我定期运行它并输入“hh”时,外壳保持打开状态。
idkanything ~ $ ./a.out
hh
enter shell
bash-3.2$
Run Code Online (Sandbox Code Playgroud)
现在我尝试 echo 然后管道,但外壳立即关闭。
idkanything ~ $ echo "hh" | ./a.out
enter shell
leave shell
Run Code Online (Sandbox Code Playgroud)
所以现在这是它的工作时间:
idkanything ~ $ cat <(python -c 'print "hh"') - | ./a.out
enter shell
this work
/bin/bash: line 1: this: command not found
leave shell
Run Code Online (Sandbox Code Playgroud)
但是,当我为 stdin 省略 '-' 时,它不起作用,因为 shell 会立即关闭。 …
我有一个显示为键盘的 USB 远程演示器。
使用evtest
我可以看到来自设备的输入事件。
如何在 shell 脚本中捕获这些事件?
我见过一些使用的解决方案C
,但我更喜欢仅在bash
可能的情况下使用的解决方案。
我已经尝试过一些xbindkeys
,但我的键盘事件也被捕获,我不希望这样。
我还阅读了一些内容udev rules
,但在我看来,这些规则仅对插入和拔出事件有用。
我使用以下方法创建了一个文件:
$ ls > ls.txt
Run Code Online (Sandbox Code Playgroud)
现在我想转到不同的目录并使用此文件创建一堆空文件,其名称来自ls.txt
.
什么是最简单的方法来做到这一点?