标签: bash

退出“反向搜索”

我按下Ctrl-R进入reverse-i-search模式。我盯着打字,找不到我要找的命令。现在我想退出这个搜索模式。如果我按Esc,我查看的最后一行将保留在提示中。我不想要那个。我想回到一个完全干净的提示。我该怎么做呢?

bash

5
推荐指数
1
解决办法
2258
查看次数

启动 3 个 rsync 副本的脚本

我有一个简单的脚本,它使用 rsync 将 Postgres 数据库复制到备份位置以用于时间点恢复。该脚本通过 postgres 用户的 cron 作业每 2 小时运行一次。出于某种奇怪的原因,我可以在进程列表中看到 rsync 的三个副本。任何想法为什么会这样?

这是 cron 条目:

# crontab -u postgres -l
PATH=/bin:/usr/bin:/usr/local/bin
0 */2 * * * /var/lib/pgsql/9.0/pitr_backup.sh
Run Code Online (Sandbox Code Playgroud)

这是 ps 列表,其中显示了 rsync 运行的两个副本和一个休眠的副本:

# ps ax |grep rsync
 9102 ?        R      2:06 rsync -avW /var/lib/pgsql/9.0/data/ /var/lib/pgsql/9.0/backups/pitr_archives/20110629100001/ --exclude pg_xlog --exclude recovery.conf --exclude recovery.done --exclude pg_log
 9103 ?        S      0:00 rsync -avW /var/lib/pgsql/9.0/data/ /var/lib/pgsql/9.0/backups/pitr_archives/20110629100001/ --exclude pg_xlog --exclude recovery.conf --exclude recovery.done --exclude pg_log
 9104 ?        R      2:51 rsync -avW /var/lib/pgsql/9.0/data/ /var/lib/pgsql/9.0/backups/pitr_archives/20110629100001/ --exclude pg_xlog …
Run Code Online (Sandbox Code Playgroud)

linux bash rsync

5
推荐指数
1
解决办法
1381
查看次数

共享 Cygwin 安装

我正在尝试以自动化方式在一堆 Windows Server 2003 机器上设置 OpenSSH。我的目标是能够使用安装在网络驱动器上的单个版本的 Cygwin 而不是在每台机器上手动安装它。

我可以很好地安装 cygwin,但是当我尝试运行 ssh-host-config 时开始遇到问题。

$ ssh-host-config
bash: /usr/bin/ssh-host-config: Permission denied 
Run Code Online (Sandbox Code Playgroud)

好吧,没什么大不了的。我 chmod 555 一切都在 /usr/bin 中。

$ ssh-host-config
/usr/share/csih/cygwin-service-installation-helper.sh: line 689: /usr/bin/awk: cannot execute binary file
Run Code Online (Sandbox Code Playgroud)

这就是我卡住的地方。跑步

petters@BTSOTTSTBAL507 /usr/bin
$ awk
bash: /usr/bin/awk: cannot execute binary file
Run Code Online (Sandbox Code Playgroud)

下面是awk的内容:

!<symlink>gawk.exe
Run Code Online (Sandbox Code Playgroud)

请注意,我可以很好地运行 gawk.exe 并尝试使用 CYGWIN=winsymlinks 环境变量集安装 Cygwin。

我还注意到以下几点——

petters@BTSOTTSTBAL507 /usr/bin
$ ls -l
total 366592    
-rwxr-xr-x 1 ???????? ????????   54798 Feb  4 19:02 [.exe
-rwxr-xr-x 1 ???????? ????????   23566 May 18  2010 addftinfo.exe
-rwxr-xr-x …
Run Code Online (Sandbox Code Playgroud)

windows ssh bash cygwin symlink

5
推荐指数
1
解决办法
1934
查看次数

Bash Extended Globbing 出现语法错误

谁能解释一下:

$ bash
$ shopt -s extglob
$ ls *.(txt|doc)
bash: syntax error near unexpected token `('
$ shopt extglob
extglob         on
Run Code Online (Sandbox Code Playgroud)

这是一个 debian 挤压安装。我期待 extglob 将括号解释为组的开头。

谢谢,

保罗

linux debian bash

5
推荐指数
1
解决办法
1295
查看次数

如何在authorized_keys中搜索公钥并将其删除

您好,我正在寻找帮助搜索/root/.ssh/authorized_keys给定的公钥(称为 $pub_key)并将其删除。想在 bash 脚本中做到这一点。

实现这一目标的最佳方法是什么?

linux bash

5
推荐指数
1
解决办法
8655
查看次数

“service mysqld stop”超时(然后发现“mysqld dead but subsys locked”)

我通过 yum 在我的 64 位 CentOS 5 服务器上安装了 mysql 和服务器。它启动得很好,但是当我试图阻止它时它会停止,然后我必须“Ctrl-C”它。然后我运行一个“service mysqld status”,它显示:

mysqld dead but subsys locked
Run Code Online (Sandbox Code Playgroud)

我运行 ps aux 并且 mysql 无处可寻。通过“service mysqld start”再次启动 mysqld 工作正常。试图阻止它会产生同样的问题。

然后我意识到/var/lock/subsys/mysqld仍然存在。运行 mysqld 时,我检查了/var/run/mysqld/mysqld.pid它与正在运行的服务的 pid 匹配。

我尝试重新安装 mysql 并删除所有文件和配置,但无济于事。

该怎么办?

编辑:

我在 /etc/init.d/mysqld 文件中添加了一些 echo 语句,特别是在 stop 函数中:

stop(){
        if [ ! -f "$mypidfile" ]; then
            # not running; per LSB standards this is "ok"
            action $"Stopping $prog: " /bin/true
            return 0
        fi  
        echo "beginning stop sequence"
        MYSQLPID=`cat "$mypidfile"`
        if …
Run Code Online (Sandbox Code Playgroud)

mysql linux bash database centos

5
推荐指数
1
解决办法
7233
查看次数

sed 的正则表达式抓取多行或更好的方法?

我正在创建一个连接到服务器并将输出转储到临时文件的脚本。我想在脚本中使用 sed 从临时文件中获取特定信息。输出总是有 80 个字符的虚线,然后是我想要的信息,然后是 Disconnected 语句。

如果它只是一行,我已经得到了一个正则表达式,问题是我如何对换行符进行分组?

正则表达式

-\{80\}[\r\n]*\(.*\)[\r\n]\{4\}Disconnected
Run Code Online (Sandbox Code Playgroud)

文件

...
--------------------------------------------------------------------------------
The information that I want to get can be a single line or multiple lines.
Another line to grab.

And this should be caught as well.

Disconnected ...
Run Code Online (Sandbox Code Playgroud)

期望输出

The information that I want to get can be a single line or multiple lines.
Another line to grab.

And this should be caught as well.
Run Code Online (Sandbox Code Playgroud)

bash regex sed

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

Bash:从标准输入执行管道

经过一番搜索,我还没有找到解决方案。我认为搜索词太笼统了。我想知道如何执行由其他来源生成的多行(在 bash 提示符下)。例如,我有一个 Python 脚本,它动态生成许多 bash 命令并将print它们发送到标准输出。我希望将这些行作为 bash 脚本执行,而不必将它们保存到磁盘。例如:

$ python example.py
touch 1 2 3 4 5
rm 1 2 3 4 5
echo "Done"
Run Code Online (Sandbox Code Playgroud)

我想做类似的事情:

$ python example.py | executeLines
Run Code Online (Sandbox Code Playgroud)

bash 中是否存在这样的命令/功能?有时其中一个命令可能会以非零退出状态退出,因此附加&&到每个命令然后运行:

$ `python example.py`
Run Code Online (Sandbox Code Playgroud)

不会总是有效,似乎是一个笨拙的解决方案。

scripting shell bash pipe

5
推荐指数
1
解决办法
6730
查看次数

Putty + Bash + Screen,历史记录的向上箭头不起作用(Ubuntu 11.10)

我全新安装了 Ubuntu Server 11.10,我正在通过 PuTTy 登录到 SSH。当我在屏幕内时,我无法使用向上箭头来调用 bash 历史记录(尽管这在屏幕外有效)。我似乎无法在 Internet 上找到完全相同的问题(尽管有很多类似的问题)。我的 .screenrc 如下:

# Look and feel
caption always "%{= bb}%{+b w}Screen: %n | %h %=%t %c"
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"

# Our warning of activity
activity "Activity in %t(%n)"

# Left Right meta key mods
#ALT-,. and ALT-<>
bindkey "^[<" eval number !echo $WINDOW-1|bc
bindkey "^[>" eval number !echo $WINDOW+1|bc
bindkey "^[," prev
bindkey "^[." next

#disable startup banner
startup_message off

#see http://www4.informatik.uni-erlangen.de/~jnweiger/screen-faq.html
termcap  xterm 'XT:AF=\E[3%dm:AB=\E[4%dm:AX'
terminfo xterm …
Run Code Online (Sandbox Code Playgroud)

ubuntu troubleshooting bash putty gnu-screen

5
推荐指数
1
解决办法
3137
查看次数

在 Bash 提示中,为什么 Control+x 和 Backspace 会清除当前行?

我错误地发现了这一点:Control+x其次是Backspace

有谁知道为什么这会清除线路?有什么文件吗?

linux shell bash

5
推荐指数
1
解决办法
612
查看次数

标签 统计

bash ×10

linux ×5

shell ×2

centos ×1

cygwin ×1

database ×1

debian ×1

gnu-screen ×1

mysql ×1

pipe ×1

putty ×1

regex ×1

rsync ×1

scripting ×1

sed ×1

ssh ×1

symlink ×1

troubleshooting ×1

ubuntu ×1

windows ×1