标签: 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
查看次数

有没有办法跳转到 Mac 终端中命令行命令的较早部分?

我经常会发现自己在 bash shell 中写出长命令 - 带有许多参数、网址、路由等的东西。每隔一段时间我就会意识到我忘记了,比如说,把我的“bundle exec”放在命令的开头,或者拼错了一些东西,或者忘记了引号。或者像把“cd”而不是“vim”这样简单的东西。

因此开始了按住左箭头键的乏味过程,直到我回到命令的开头。

有没有办法再次跳到行首?

mac terminal bash macos

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

Cygwin .bashrc 不是源,因为 cygwin 从 Windows 主页开始

注意:请参阅下面我的第二次编辑以获取有关该问题的更新。

直到上周,Cygwin 对我来说都很好。现在 .bashrc 没有得到来源。我一定安装了一些东西或改变了一些东西,但我不记得到底是什么导致了这个问题。当我启动 Cygwin 时,我在我的 Windows 家中并且我的别名都不起作用。我必须手动获取 .bashrc。以下是我的 Cygwin.bat:

@echo off

C:
chdir C:\cygwin\bin

set CYGWIN=tty notitle glob

bash --login -i
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

编辑:我的 .bash_profile 包含以下内容,

# source the users bashrc if it exists
if [ -f "${HOME}/.bashrc" ] ; then
  source "${HOME}/.bashrc"
fi
Run Code Online (Sandbox Code Playgroud)

EDIT2:重要!当我启动 Cygwin 时,它会在我的 Windows 主文件夹中启动。我试着把我的 .bash_profile 和 .bashrc 放在这个文件夹中,它们的来源是正确的!这意味着问题已简化为弄清楚为什么 Cygwin 在 Windows 主文件夹中启动,而不是在正常的 Cygwin 主文件夹中启动。

EDIT3: 运行 grep Gulshan /etc/passwd/ 的结果

$ grep Gulshan /etc/passwd
Administrator:unused:500:513:U-Gulshan-HP\Administrator,S-1-5-21-1235613160-4193452482-2032876723-500:/home/Administrator:/bin/bash
Guest:unused:501:513:U-Gulshan-HP\Guest,S-1-5-21-1235613160-4193452482-2032876723-501:/home/Guest:/bin/bash
Gulshan:unused:1000:513:U-Gulshan-HP\Gulshan,S-1-5-21-1235613160-4193452482-2032876723-1000:/home/Gulshan:/bin/bash
Run Code Online (Sandbox Code Playgroud)

cygwin bash bashrc

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

如何在 bash 中删除刚刚输入的换行符?

我有时将路径复制粘贴到终端中,并且经常不小心复制换行符。例如,我想查找然后阅读foobar.txt.

$ locate foobar.txt
/home/sparhawk/Document Directory/foobar.txt
Run Code Online (Sandbox Code Playgroud)

然后我点击三次选择第二行。(糟糕,它也选择了尾随的换行符!)由于路径中有空格,我需要用引号将路径括起来。因此输入

$ cat '
Run Code Online (Sandbox Code Playgroud)

并单击鼠标中键进行粘贴。这产生

$ cat '/home/sparhawk/Document Directory/foobar.txt
> 
Run Code Online (Sandbox Code Playgroud)

因为我在关闭'. 此时,我无法按退格键删除换行符。有没有办法删除这个刚刚输入的换行符?

更多信息

在这一点上,我可以SIGINT使用Ctrl+ c,也可以使用另一个'. 假设我做后者。

$ cat '/home/sparhawk/Document Directory/foobar.txt
> '
cat: /home/sparhawk/Document Directory/foobar.txt
: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为我刚刚输入了一个包含换行符的路径。但是,此时,我可以按向上箭头来加载最后一个命令。IE

$ cat '/home/sparhawk/Document Directory/foobar.txt
'
Run Code Online (Sandbox Code Playgroud)

此时,我可以按两次退格键删除换行符。(注意>,在第二个历史示例中没有。)

linux terminal bash shell command-line

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

为什么我有时会在 xterm/sh 中得到 'sh: $'\302\211 ... ': command not found'?

有时,当我简单地输入一个有效的命令,比如“find ...”,或者其他任何东西时,我会得到以下内容,这是完全出乎意料和令人困惑的(...我输入的是命令名称):

sh: $'\302\211...': command not found
Run Code Online (Sandbox Code Playgroud)

我认为有一些腐败正在发生。我不在我的提示中使用颜色,我在 POSIX 模式下使用 Bash shell 作为sh( chshto/bin/sh等等 - $SHELLis sh)。

这是怎么回事,为什么这种情况一直在发生?有什么我可以调试的吗?我认为这xterm不仅仅是一个问题sh,或者至少是两者的结合。

文件,上下文:

我的/etc/profile,与 Arch Linux x86-64 一起分发的:

# /etc/profile

#Set our umask
umask 022

# Set our default path
PATH="/usr/local/sbin:/usr/local/bin:/usr/bin"
export PATH

# Load profiles from /etc/profile.d
if test -d /etc/profile.d/; then
        for profile in /etc/profile.d/*.sh; do
                test -r "$profile" && . "$profile"
        done
        unset profile
fi

# …
Run Code Online (Sandbox Code Playgroud)

bash shell xterm sh

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

从源代码安装屏幕

我试图screen从源代码在 RedHat上安装该命令。但是当我运行时configure,它返回了

configure: error: !!! no tgetent - no screen
Run Code Online (Sandbox Code Playgroud)

那么有没有人知道如何修复它?

bash gnu-screen redhat-enterprise-linux

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

使用 Screen 连接串行终端的本地回显

通过阅读“构建无线传感器网络”一书,我了解到您可以使用 Screen 实用程序连接到串行控制台。我尝试使用它连接到 XBee 模块,它似乎工作正常,只是它没有在终端中回显本地键入的字符。到目前为止,我发现的唯一似乎有帮助的方法是使用 stty 实用程序在 tty 设备上设置“echo”选项,但更改似乎没有生效。我在 tty 设备上运行 stty 并通过它“echo”。如果我再次运行 stty 以打印出当前选项,它仍然显示“-echo”已设置。如果我对语法的理解是正确的,破折号表示该选项已关闭,没有破折号表示它已打开。我也试过用 sudo 设置 echo 选项,但那没有

我显然在这方面不是很了解,所以任何帮助将不胜感激。

terminal bash serial-port gnu-screen macos

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

如何使用 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
查看次数