标签: bash

gnome 终端中无法区分的活动选项卡

我在我的 Debian Sid 上运行 Gnome 2.30.2 和 Gnome Terminal 3.0.1,最近活动标签变得与其他标签几乎没有区别。它实际上是相同的颜色。更改主题并没有太大帮助,仅使用高对比度主题会有所不同,这是我宁愿不使用的主题。

一直在试验 ~/.gtkrc-2.0 脚本,但即使在重新启动 X-Server 后,它似乎也根本不起作用。

style "gnome_terminal_notebook"
{
    #fg[NORMAL] = "#00ff00"
    bg[NORMAL] = shade (1.25, "#3c3b37")
}

widget "*TerminalWindow.*.GtkNotebook*" style "gnome_terminal_notebook"
Run Code Online (Sandbox Code Playgroud)

任何人都可以阐明如何使活动标签更易于区分吗?

linux gnome bash gtk gnome-terminal

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

如何从单个 bash 脚本启动多个屏幕会话?

我写了一个看起来像这样的脚本(不起作用):

#!/bin/sh

screen -dmS "somename" somecommand

for i in {0..5}; do
    screen -dmS "name$i" anothercommand $i
done
Run Code Online (Sandbox Code Playgroud)

出于某种原因,如果我将其复制并粘贴到终端中,它会按照我的预期创建 7 个分离的屏幕会话。但是,如果我从脚本中运行它,当我运行screen -ls.

编辑:如果可以通过另一种方式完成相同的操作(例如,使用多个屏幕窗口而不是会话),我也会打开这些解决方案。谢谢!

linux script bash gnu-screen

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

在 bash 脚本中运行 python oneliner

以下是我想作为 bash 脚本的一部分运行的 python one-liner

python -c "from xml.dom.minidom import parse;dom = parse('/path/to/pom.xml');print [n.firstChild.data for n in dom.childNodes[0].childNodes if n.firstChild and n.tagName == 'version']"
Run Code Online (Sandbox Code Playgroud)

(pom.xml 是一个 maven POM xml 文件)

我想将命令的结果分配给变量MVN_VER

这是我的基本脚本:

WS="/path/to"
PY_GET_MVN_VERS="from xml.dom.minidom import parse;dom = parse(\'${WS}/pom.xml\')\;print [n.firstChild.data for n in dom.childNodes[0].childNodes if n.firstChild and n.tagName == \'version\']"

funcion test_mvn {

        MVN_VER=`python -c \"${PY_GET_MVN_VERS}\"`
        echo ${MVN_VERS}
}

test_mvn
Run Code Online (Sandbox Code Playgroud)

但是它无法运行。如果我使用 +x 选项运行脚本,我会看到:

++ python -c '"from' xml.dom.minidom import 'parse;dom' = 'parse(\'\''/path/to/pom.xml\'\'')\;print' '[n.firstChild.data' for n in 'dom.childNodes[0].childNodes' if n.firstChild …
Run Code Online (Sandbox Code Playgroud)

bash

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

带管道的 Bash 别名

我不确定我在这方面做错了什么。我正在尝试运行命令

alias localip='ip -4 -o addr show eth0 | egrep -o '([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3}' | head -n 1'
Run Code Online (Sandbox Code Playgroud)

如果我运行命令

ip -4 -o addr show eth0 | egrep -o '([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3}' | head -n 1
Run Code Online (Sandbox Code Playgroud)

我得到了我期望的结果,但是,当尝试使用命令创建别名时,我得到

-bash: 意外标记附近的语法错误`('

任何帮助,将不胜感激。TIA。

bash alias

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

在 Ubuntu 中连接“未找到命令”处理程序

我想挂接到处理程序中找不到命令

wim@SDFA100461C:~$ thing
No command 'thing' found, did you mean:
 Command 'tping' from package 'lam-runtime' (universe)
 Command 'thin' from package 'thin' (universe)
thing: command not found
Run Code Online (Sandbox Code Playgroud)

我想用我自己的脚本覆盖这种行为。

具体来说,我想检查该命令是否存在于 的输出中lsvirtualenv -b,如果存在,我想激活该 virtualenv。

我应该从哪里开始黑客攻击?

bash ubuntu virtualenv

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

zsh 中“fc -s”的替代方法?

在 中bash,我有一个方便的别名:

alias r="fc -s"
Run Code Online (Sandbox Code Playgroud)

这只是重复了最后一个命令。一样!!。我现在已经习惯了(肌肉记忆),但我似乎无法弄清楚如何重新创建别名。fc中没有-s选项zsh。如何将!!行为绑定到r

bash zsh command-line

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

如何使用 bash 在 Mac 终端上使用 fzf

我找到了一个名为 fzf https://github.com/junegunn/fzf的实用程序,它是您的 shell 的模糊查找器。

两个问题:

1)运行fzf并运行文件后,我按Enter然后我找到的文件在终端中输出。而不是Enter,我应该按什么键将该文件路径复制到我的 pastebin?

2)理想情况下,我希望能够执行以下操作: cat <pattern><hotkey> 在其中键入文件名的一部分,然后按热键开始 fzf 搜索该模式。有没有办法做到这一点?

terminal bash macos

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

shell 命令前面的百分号 (%)

我只是将一堆代码粘贴到我的 shell 中,但%在运行命令之前忘记删除前导。它似乎什么也没做。为什么这在我的 shell ( zsh ) 中没有任何作用?

> % echo foo
Run Code Online (Sandbox Code Playgroud)

bash 中,我得到以下信息

> % echo foo
bash: fg: %: no such job
Run Code Online (Sandbox Code Playgroud)

我只是想确保运行我的命令没有产生一些副作用。

bash zsh shell command-line

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

什么是安全的 ping 频率而不被视为 DDoS 攻击?

我试图通过定期 ping 服务器和 Google 然后比较 ping 时间来绘制服务器的正常运行时间。我想在一段时间内继续这样做——比如说——一周。

我向每个 ping 发送一组 5 个 ping,超时为 5 秒,每组之间的间隔为 2 分钟。以下是bash命令。

while true; do echo Google; date; ping -c 5 -t 5 www.google.com; sleep 120; echo Outlook; date; ping -c 5 -t 5 https://outlook.office365.com/; sleep 120; done >> pings.txt

我担心服务器是否将此视为 DDoS 攻击。

bash ping denial-of-service

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

你能在用 tee 写的每一行前面加上当前日期和时间吗?

我使用“tee”命令来将长 bash 命令的结果捕获到文件中。

我用 tee 发出的文件可以以某种方式在每行前面加上写入该行时的时间戳吗?我正在寻找一种解决方案,其中每行都有不同的日期时间值...而不是每行上的前缀相同的值。

我想要这个的原因是,当我阅读文件以了解慢速区域在哪里时,了解每行何时发出将非常有用。

bash logging tee

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