小编Ank*_*nko的帖子

我如何为`!!`(最后一个命令)设置别名?

!!在 bash 中运行最后一个命令。鉴于我经常使用它,我发现打字太困难了。alias为了救援,我猜想。

或不。我试过:

$ alias dl='!!'               # Aliasing
$ echo Testing123             # Here's something to test on
Testing123
$ dl                          # Testing alias
bash: !!: command not found
$                             # I AM DISAPPOINT
Run Code Online (Sandbox Code Playgroud)

没有引号也会失败。

这是怎么回事?

bash command-history alias

11
推荐指数
1
解决办法
5342
查看次数

如何将字符串的一部分提取到变量中?

我有这样的文件中的一行:

attempting to create a 512^3 level (with Dirichlet BC) using a 16^3 grid of 32^3 boxes and 800 tasks...
Run Code Online (Sandbox Code Playgroud)

我想提取的512^316^332^3800从它的四个数字分别为它们分配到四个变量levelgridboxestasks用于其他用途。

我怎样才能做到这一点?

bash string regular-expression

11
推荐指数
1
解决办法
9477
查看次数

如何编写系统登录测试?

我编写了一个调用bash命令的 Python CGI 脚本,它需要测试是否在主机上成功登录。

我如何为此编写测试?

例如,我可以创建一个bash脚本来针对主机上的注册用户测试给定的用户名和密码组合吗?

linux security bash login testing

9
推荐指数
2
解决办法
2万
查看次数

为什么 startx 显示黑屏,没有错误?

我最近想解决一个问题,即使用运行 debian (jessie) 的笔记本电脑上的第二台显示器,但由于我缺乏知识,事情没有按计划进行。现在我开始进入tty1,没有任何类型的图形环境启动。

我有一台戴尔 XPS17 笔记本电脑,使用英特尔高清第二代芯片组和英伟达 gt555m 显卡。

我最初做的是安装一些驱动程序(一些 nvidia 驱动程序 iirc),然后创建一个xorg.conf.

当我现在执行时startx只出现黑屏,但/var/log/Xorg.0.log.

我的目标是使用 Intel 高清显卡和使用 Nvidia 卡的附加显示器再次运行默认的笔记本电脑显示器(但如果只有笔记本电脑显示器可以再次工作,我也会很高兴)。

做什么?我对 Linux/unix 不太熟悉,我很感激任何可用的分步解决方案。

linux xorg debian nvidia intel-graphics

9
推荐指数
1
解决办法
2万
查看次数

在 zsh 中,如何更快地否认前台进程?

我的拒绝前台进程的方法太费力了。

假设我在zsh的前台有一个进程。我想要disown它,这样我就可以关闭外壳,而不会向进程发送SIGHUP.

目前,我从Ctrl+开始z到后台并暂停进程,然后

$ disown
disown: warning: job is suspended, use `kill -CONT -32240' to resume
$ kill -CONT -32240
$
Run Code Online (Sandbox Code Playgroud)

-然后我可以关闭终端。

我怎样才能自动化?理想情况下,我希望能够按Ctrl+j或其他东西来立即否认正在运行的进程。或者第二好的,我希望能够在SIGCONT挂起后运行单个命令来拒绝和进程。

zsh signals background-process disown

9
推荐指数
2
解决办法
3404
查看次数

如何将通知通过管道传送到我的状态栏?

我正在尝试在 Arch Linux 中建立一个更图形化的最小通知系统。具体来说,我对 dzen2 或 conky 等允许更多基于文本的状态栏的程序感兴趣。

是否可以将通知(如libnotify, 中notify-send的)通过管道发送到由 dzen2 和 conky 等程序制作的状态栏?有没有我可以尝试的更简单或更详细的方法?

我目前使用 Openbox,但喜欢偶尔切换 WM,因此非常感谢与 WM 无关的建议。

arch-linux openbox pipe notifications conky

8
推荐指数
1
解决办法
2839
查看次数

如何在 tmux 的状态栏中显示简单的正常运行时间?

我想以格式在 tmux 状态栏中显示正常运行时间DD:HH:MM,而没有该uptime命令显示的任何其他内容。

我试过这些:

#set -g status-left '#[fg=green]#H #[fg=black]•#[fg=green,bright]#(uptime|awk '{split(substr($0, index($0, "load")),a, ":"); print a[2]})'#[default]'
set -g status-right '#[fg=red,bg=default]#(uptime) #[fg=blue]%a%d-%m-%Y %H:%M:%S'
Run Code Online (Sandbox Code Playgroud)

两者都不如我所愿。我只想要一个正常的正常运行时间DD:HH:MM,每 30 秒更新一次,使用正常的状态栏更新。

tmux

8
推荐指数
1
解决办法
9034
查看次数

如何在排除睡眠模式时间的情况下显示正常运行时间?

我将我的笔记本电脑置于挂起模式,稍后将其唤醒,现在它显示正常运行时间约为 23 小时(使用uptime),这显然不是真的。我怀疑uptime只是返回启动时和现在的时间戳之间的差异。

有没有办法显示正常运行时间,不包括在挂起和休眠等低功耗模式下花费的时间?

sleep uptime

8
推荐指数
2
解决办法
2109
查看次数

如何同时使用 ALSA dmix 和多插件?

我正在使用控制台声音可视化器,它希望自己的 ALSA 设备能够收听。我正在编辑~/.asoundrc。我知道我需要该multi 插件将声音数据拆分到不同的设备上。然而,我的声卡没有硬件混音,所以我还需要一个dmix插件在某个地方,用于软件混音。

如果我尝试将 a 添加multi为 的从属dmix,则会收到此错误(换行)

ALSA lib pcm_direct.c:1525:(_snd_pcm_direct_get_slave_ipc_offset)
Invalid type 'multi' for slave PCM
Run Code Online (Sandbox Code Playgroud)

我试图创建一个“虚拟中间人”plugmulti作为一个奴隶,并指向dmix那个,但仍然得到同样的错误。看起来dmix想要整个东西链是plughw......

如果我尝试添加一个dmix模块作为 a 的从属模块multi,我会得到

Device or resource busy
Run Code Online (Sandbox Code Playgroud)

正如您所期望的那样,当软件混音不是管道中的第一步,而是多个程序试图获取声卡时。

这两个东西(dmixing 和multi-ing 到环回设备)分别运行良好。

为什么要dmixmulti不一起工作?我怎样才能使这项工作?


这是我的~/.asoundrc,带有为从属 PCM提供无效类型“多”的选项:

# thx …
Run Code Online (Sandbox Code Playgroud)

alsa audio

8
推荐指数
1
解决办法
1万
查看次数

如何找出使用给定 C 库函数所需的链接器标志?

运行示例 C 代码是一项痛苦的练习,除非它带有 makefile。

我经常发现自己有一个 C 文件,其中包含的代码据说可以做一些很酷的事情,但是第一次基本的编译尝试 ( gcc main.c) 失败了——

main.c:(.text+0x1f): undefined reference to `XListInputDevices'
clang-3.7: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

——或类似。

我知道这意味着我缺少正确的链接器标志,例如-lX11,-lXext-lpthread

但哪些呢?


我目前处理这个问题的方法是找到包含一个函数的库头文件,使用 Github 的搜索来查找其他一些导入相同头文件的程序,打开它的 makefile,找到链接器标志,将它们复制到我的编译命令中,并继续删除标志,直到我找到仍然可以编译的最小集合。

这是低效的,无聊的,让我觉得必须有更好的方法。

compiling c ld

7
推荐指数
1
解决办法
6291
查看次数