小编Luc*_*cas的帖子

为什么我的新 cygwin .bashrc 交互式检查不起作用?

我刚刚更新了 Cygwin,新的.bashrc在顶部包含这一行:

echo "BEFORE TEST"
# If not running interactively, don't do anything
[[ "$-" != *i* ]] && return
echo "AFTER TEST"
Run Code Online (Sandbox Code Playgroud)

我明白如果不运行交互式,你不需要做任何事情,但我的问题是,如果我ssh使用命令:

ssh localhost pwd
Run Code Online (Sandbox Code Playgroud)

我看到这个:

BEFORE TEST
Run Code Online (Sandbox Code Playgroud)

所以,很明显,它没有通过[[ "$-" != *i* ]]测试并返回。显然ssh localhost pwd是一个微不足道的例子,但我希望.bashrc如果通过ssh. 我的实际自动化针对这个 cygwin 实例远程运行命令并且失败,因为路径(由 my 设置.bashrc)没有正确设置。

此外,任何人都可以解释该测试实际上在做什么吗?什么是i?什么是$-应该代表什么?

bash ssh cygwin sshd

3
推荐指数
1
解决办法
784
查看次数

标签 统计

bash ×1

cygwin ×1

ssh ×1

sshd ×1