小编CRT*_*aze的帖子

sed 在 OSX 上的某一行插入

所以我一直在 linux 上使用 'sed' 一段时间,但是在尝试在 OSX 上使用它时遇到了一些困难,因为 'POSIX sed' 和 'GNU sed' 有很多细微的差别。目前我正在努力解决如何在某个行号后插入一行文本。(在本例中,第 4 行)

在 linux 上,我会做这样的事情:

sed --in-place "4 a\  mode '0755'" file.txt
Run Code Online (Sandbox Code Playgroud)

所以在 OSX 上我试过这个:

sed -i "" "4 a\ mode '0755'" file.txt
Run Code Online (Sandbox Code Playgroud)

但是,这一直给我一个“命令末尾\ 后的额外字符”错误。任何想法这里有什么问题?我有错别字吗?还是我不明白 sed 版本之间的另一个区别?

osx sed gnu posix

26
推荐指数
4
解决办法
4万
查看次数

通知侦听器在后台运行时行为异常

我一直在努力让我的 IRC-Bouncer/Notification 脚本工作。

这是一个脚本,它将自动登录到远程机器,附加到一个运行 weechat 的屏幕会话(如果当前不存在,则启动一个),同时打开另一个使用 netcat 从套接字文件读取通知的 ssh 连接weechat 附加脚本将我的通知消息导出到其中。然后将这些通知送入 lib-notify(通过通知发送),以便我可以在 weechat 中收到活动警报。

这是脚本:

#!/bin/bash

BOUNCER="MYUSER@MYBOUNCER.NET"

function irc_notify() {
  ssh $BOUNCER "nc -k -l -U /tmp/weechat.notify.sock" | \
    while read type message; do
     notify-send -i weechat -u critical "$(echo -n $type | base64 -di -)" "$(echo -n $message | base64 -di -)"
    done
}

# Start listening for notifications
irc_notify &

# Attach to remote IRC Bouncer Screen
ssh $BOUNCER -t 'screen -d -R -S irc weechat' …
Run Code Online (Sandbox Code Playgroud)

bash shell-script background-process stdout stdin

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

不能 'ls' /mnt 目录

我有一台运行实时数据库的 CentOS-6 机器。/mnt目录有问题。ls由于某种原因,我无法访问该目录。 stat正在工作并显示此输出:

  File: `/mnt/'
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: ca02h/51714d    Inode: 16321       Links: 9
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2011-09-23 06:50:20.000000000 -0500
Modify: 2012-10-29 11:46:33.000000000 -0500
Change: 2012-10-29 11:46:33.000000000 -0500
Run Code Online (Sandbox Code Playgroud)

我也可以cd进入该目录并成功发出touchmkdir命令(或至少没有错误。但是,如果我尝试ls在该目录中运行它只是挂起。此时Ctrl+CCtrl+Z都没有任何效果,我的系统会锁定。我必须关闭我的 ssh 窗口并重新连接才能做其他事情。

我在这里有点不知所措,有没有人知道可能导致这种情况的原因?或者,有没有人知道如何在不重新启动机器的情况下尝试修复它(我之前在另一台机器的同一目录上遇到过这种情况,并通过重新启动进行了纠正),因为这是一台实时机器,我可以'实际上重新启动。

这些是安装在该目录中的文件系统:

blob.XXXXX.com:/blend on /mnt/blend type fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072)
blob.XXXXX.com:/new_log on /mnt/new_log type fuse.glusterfs (rw,allow_other,default_permissions,max_read=131072) …
Run Code Online (Sandbox Code Playgroud)

ls filesystems directory files

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

标签 统计

background-process ×1

bash ×1

directory ×1

files ×1

filesystems ×1

gnu ×1

ls ×1

osx ×1

posix ×1

sed ×1

shell-script ×1

stdin ×1

stdout ×1