导航到目录时问题" C / Program Files(x86)"与cygwin?

时间:2015-06-08 08:10:21

标签: shell cygwin

我正试图在cygwin中导航到以下路径,

  

C / Program Files(x86)/ temp / lfc / utilities

但不幸的是,它显示以下错误

$ cd C/Program Files (x86)/temp/lfc/utilities
bash: syntax error near unexpected token `('

请你告诉我,这里有什么问题..

4 个答案:

答案 0 :(得分:3)

命令:

cd C/Program Files (x86)/temp/lfc/utilities

尝试使用三个参数调用cd而不是正确的参数:

  • C /活动
  • 文件
  • (86)/温度/ LFC /实用程序 并且这些参数中的第三个包含导致bash悲伤的字符 - 它们实际上被定义为元字符,并且根据bash doco:
  

上面列出的每个元字符对于shell都有特殊含义,如果要表示自己,则必须引用它。

用引号括起整个地段,例如:

cd '/cygdrive/C/Program Files (x86)/temp/lfc/utilities'

您会注意到我还将其与CygWin cygdrive挂载点作为前缀。我相当肯定仍然需要,至少从我几个月前安装的版本开始。

答案 1 :(得分:2)

Cygwin使用POSIX路径命名法。要轻松将Windows路径转换为Cygwin路径,您可以使用cygpath工具:

$ cygpath 'C:\Program Files\foo'
/cygdrive/c/Program Files/foo

此工具还可以将POSIX路径转换为Windows:

$ cygpath -w '/cygdrive/c/Program Files/foo'
C:\Program Files\foo

第三种解决方案是将drag and drop一个文件或文件夹从Windows资源管理器直接导入您的终端。您将获得直接转换为Cygwin格式的Windows路径。

答案 2 :(得分:1)

你也可以像这样使用<cfif not parameterexists(redirected) and ( qf eq 'http://www.johnjhoward.com' or qf eq 'www.johnjhoward.com' or qf eq 'johnjhoward.com' ) > <cfoutput> <cfquery name="stno" datasource="#idxName#" maxrows=1 dbtype="ODBC"> select field50 from _r where field1 = #mls# </cfquery> <script type="text/javascript"> window.top.location = "http://www.johnjhoward.com/listings/#mls#/#stno#"; </script> </cfoutput> </cfif> PROGRA~1PROGRA~2

  • PROGRA~3相当于cd /cygdrive/c/PROGRA~1
  • cd /cygdrive/c/Programmes相当于cd /cygdrive/c/PROGRA~2
  • cd /cygdrive/c/Program\ Files\ \(x86\)相当于cd /cygdrive/c/PROGRA~3

答案 3 :(得分:0)

您可以将Windows路径直接用于:

cd $(cygpath -u "C:\Program Files (x86)\temp\lfc\utilities")

这对于以下环境变量很有用:

cd  $(cygpath -u "$USERPROFILE")/Downloads
cd "$(cygpath -u "$PROGRAMFILES")/Program Name"

您可以在https://cygwin.com/cygwin-ug-net/cygpath.html上了解有关cygpath的更多信息