我按下Ctrl-R进入reverse-i-search模式。我盯着打字,找不到我要找的命令。现在我想退出这个搜索模式。如果我按Esc,我查看的最后一行将保留在提示中。我不想要那个。我想回到一个完全干净的提示。我该怎么做呢?
我有一个简单的脚本,它使用 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) 我正在尝试以自动化方式在一堆 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) 谁能解释一下:
$ 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 将括号解释为组的开头。
谢谢,
保罗
您好,我正在寻找帮助搜索/root/.ssh/authorized_keys给定的公钥(称为 $pub_key)并将其删除。想在 bash 脚本中做到这一点。
实现这一目标的最佳方法是什么?
我通过 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) 我正在创建一个连接到服务器并将输出转储到临时文件的脚本。我想在脚本中使用 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 提示符下)。例如,我有一个 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)
不会总是有效,似乎是一个笨拙的解决方案。
我全新安装了 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) 我错误地发现了这一点:Control+x其次是Backspace
有谁知道为什么这会清除线路?有什么文件吗?