为什么 HOME 路径不同

为什么 HOME 路径不同

我有一个脚本,它通过 Windows 中的计划任务单独更新 GIT wc。为此,我方便地使用 Cygwin。但我遇到了一个问题,因为 Cygwin 中的 ssh 给出了此错误:

percent_expand:未知键 %H

经过一番搜索,我发现一些答案说这个问题是由于 HOME 变量而发生的。好吧,当我通过桌面上的快捷方式启动 CygWin 时,结果如下

$ echo $HOME
/cygdrive/h/

当我在任务计划程序中执行任务时,结果是这样的:

$ echo $HOME
/usr/bin/%HOMEDRIVE%%HOMEPATH%

我不知道如何对这两种情况赋予相同的价值。

答案1

我找到了一种修复此问题的方法。在阅读了 @DanielB 和 @matzeri 的评论后,我开始搜索有关 shell 加载的配置文件的信息。

所以我找到了这个,讨论配置文件。根据此文档,我编辑了文件 C:\cygwin64\etc\skel\.inputrc,取消注释以下行:

$if Bash
  # Don't ring bell on completion
  #set bell-style none

  # or, don't beep at me - show me
  #set bell-style visible

  # Filename completion/expansion
  set completion-ignore-case on
  set show-all-if-ambiguous on

  # Expand homedir name
  set expand-tilde on #THIS LINE IS IMPORTANT

  # Append "/" to all dirnames
  #set mark-directories on
  #set mark-symlinked-directories on

  # Match all files
  set match-hidden-files on

  # 'Magic Space'
  # Insert a space character then performs
  # a history expansion in the line
  #Space: magic-space
$endif

相关内容