小编Zev*_*erg的帖子

SSH 到两个地址,使用第一个连接的地址

我有一台家用电脑(我们称它为富兰克林,因为我就是这么称呼它的),我经常从我的工作笔记本电脑上通过 ssh 连接到它。当我在家时,我 ssh 到 franklin.local,而当我在工作或其他任何地方时,我 ssh 到 remote.address.of.franklin。

我希望在我的个人资料中有一个功能,该功能始终以正确的方式连接。我的网络状况经常变化(有线与无线、不同的 SSID 等),所以我不想通过检测网络状态来做到这一点,而是:

  1. 如果富兰克林在本地可用,则在本地连接,
  2. 否则,远程连接

这是我现在使用的:

function franklin () {
    ping -c 5 "franklin.local" > /dev/null
    if [[ $? != 0 ]]
        then
        echo "franklin not available on local, so trying remote connection"
        ssh -p 22 remote.address.of.franklin
    else
        echo "franklin available on local network, so trying local connection"
        ssh username@franklin.local
    fi
}
Run Code Online (Sandbox Code Playgroud)

问题是,ping 需要时间。我的问题是:我可以同时执行两个 ssh 命令,然后自动使用第一个连接的命令吗?

ssh zsh shell-script ping

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

在 Mac 上使用 coreutils ls 查看扩展属性

我在运行 OS X 10.8.4 的 Mac 上通过 MacPorts 安装了 coreutils。我已ls设置为在可用时使用ls[ (GNU coreutils) 8.21]的 coreutils 版本:

if [ -e /opt/local/libexec/gnubin ]; then
    alias ls='/opt/local/libexec/gnubin/ls --color=auto'
else
    alias ls='/bin/ls -G'
fi
Run Code Online (Sandbox Code Playgroud)

当我ls -l在包含已知具有扩展属性 (xattrs) 的文件的目录中运行时,我希望@在这些列表中的权限之后看到一个符号。但是,我看不到任何@迹象。如果我跑/bin/ls -l,我会得到@标志。

文件列表来自/bin/ls -l

-rw-r--r--@  1 zev.eisenberg  staff  132887 Jul 19 16:24 flowchart.graffle
Run Code Online (Sandbox Code Playgroud)

文件列表来自ls -l(使用 coreutils):

-rw-r--r--  1 zev.eisenberg staff 132887 Jul 19 16:24 flowchart.graffle
Run Code Online (Sandbox Code Playgroud)

当 xattrs 存在时,如何让 coreutils …

osx shell coreutils xattr

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

异步RPROMPT?

我的一个朋友在 StackOverflow 上发布了这个,我想我们可能更有可能在这里得到答案。他的帖子指的是速度,但我们现在知道我们用来解析 git status 的 python 脚本很慢,并且在某些时候我们打算重写它以使其更快。然而,RPROMPT异步设置的问题对我来说仍然很有趣,所以我想我会在这里引用他的问题:

自从我开始使用 git 以来,我已经设置了 RPROMPT 来显示当前分支。我最近一直在使用一些“花哨的”脚本来显示未/暂存的文件计数和其他有用的一目了然的东西。( https://github.com/olivierverdier/zsh-git-prompt/tree/master )

使用它一两个星期后,它的性能开始困扰我。

是否有更快的方法来获取此信息,或者是否有异步编写 RPROMPT 的方法?我不想在计算 RPROMPT 时等待输入命令,并且会非常高兴它在我的主 PROMPT 稍晚出现。

没有冒犯上述脚本;这很棒。我只是不耐烦。

prompt zsh shell-script

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

标签 统计

shell-script ×2

zsh ×2

coreutils ×1

osx ×1

ping ×1

prompt ×1

shell ×1

ssh ×1

xattr ×1