为什么shebang需要路径?
错误的
#!ruby
Run Code Online (Sandbox Code Playgroud)
正确的
#!/usr/local/bin/ruby
#!/usr/bin/env ruby
Run Code Online (Sandbox Code Playgroud)
操作系统应该有关于注册命令的路径的信息,为什么它仍然期望它被给出?
有没有办法只用一个或两个键来清除 shell 控制台(在 ubuntu linux 中)上显示的内容?当我收到大量grep
超过窗口高度的行时,我想快速滚动回我在提示后键入命令的位置。如果我在输入命令之前打开了一个新的终端,然后转到初始位置,我就可以这样做。但是如果继续使用相同的终端窗口,我必须手动找到位置。Ctrl+l不是答案,因为它只是滚动,终端的内容仍然存在。我无法使用,less
因为 grep 的彩色输出没有以颜色显示。
我想提取某个进程的进程 ID 以将其关闭。该进程是使用某个端口(localhost:3000)的本地Web服务器,我目前正在这样做以提取相关行:
lsof|grep localhost:3000
Run Code Online (Sandbox Code Playgroud)
但是lsof
命令太慢了。有没有更快的方法来提取进程ID?
出于某种原因,我想倒置使用轨迹球 Logitech(又名 Logicool)大理石鼠标(又名 Trackman Marble)。有没有办法在不修改硬件的情况下分别在软件方面反转左右滚动和上下滚动?我通过编写一个配置文件来尝试这个,/etc/X11/xorg.conf.g/
例如
Section "InputClass"
Identifier "Marble Mouse"
MatchProduct "Logitech USB Trackball"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "8"
Option "XAxisMapping" "6 7"
Option "Emulate3Buttons" "true"
Option "ButtonMapping" "1 2 3 5 4 7 6 2 2"
EndSection
Run Code Online (Sandbox Code Playgroud)
关键是我切换了键 4 和 5 以及 6 和 7,而不是:
Option "ButtonMapping" "1 2 3 4 5 6 7 2 2"
Run Code Online (Sandbox Code Playgroud)
我有:
Option "ButtonMapping" "1 2 3 5 4 7 6 2 2"
Run Code Online (Sandbox Code Playgroud)
但这不起作用,这可能仅对滚轮仿真模式有效。我怎样才能逆转滚动?
我test
在完整路径下有一个可执行脚本/home/sawa/foo/bar/test
。该目录/home/sawa/foo/bar
在 内$PATH
,并且优先于默认目录,包括/usr/bin
. 当我做
`which test`
Run Code Online (Sandbox Code Playgroud)
查看这个命令是否被正确识别,它返回
/home/sawa/foo/bar//test
Run Code Online (Sandbox Code Playgroud)
用双斜线//
。我知道有一个同名的内置命令test
,当我删除我的命令时,下面的这个命令/usr/bin/test
是由 返回的which
,所以我认为它以某种方式进行了干扰。
test
似乎无法正常工作。这是为什么?是否可以通过修改/etc/X11/xorg.conf.d
. 如果是这样,我该怎么做?
假设我有以下目录:
/foo/
/A/B/C/foo/D/E/
/F/foo/G/H/foo/I/
Run Code Online (Sandbox Code Playgroud)
如何获得列出基本名称与给定字符串完全匹配的所有目录的结果(例如foo
在此处)?
/foo/
/A/B/C/foo/
/F/foo/
/F/foo/G/H/foo/
Run Code Online (Sandbox Code Playgroud) 当我需要在 emacs 中以编程方式打开名称中有空格的文件时,我该怎么做?我已经在 Ruby 脚本中尝试过这些命令,在反引号内或popen(…)
:
emacs "foo bar"
Run Code Online (Sandbox Code Playgroud)
或者
emacs foo\ bar
Run Code Online (Sandbox Code Playgroud)
打开两个名为foo
and 的文件bar
,但我想打开一个名为foo bar
.