在特定文件夹中打开Cygwin

Ran*_*lue 218 windows cygwin

如何创建一个Cygwin快捷方式,在特定文件夹中打开Cygwin?这样可以避免输入

cd /cygdrive/c/Users/Tom/Desktop/
Run Code Online (Sandbox Code Playgroud)

每次我启动Cygwin.

two*_*ash 394

当您安装Cygwin时(或者如果您已经安装了Cygwin,再次下载并再次启动安装以运行更新),请确保选择chere"Shells"类别下的软件包.

启动Cygwin后,打开一个Cygwin终端(作为管理员)并输入命令:chere -i -t mintty -s bash.

现在,您应该在Windows右键单击上下文菜单中有"Bash Prompt Here".

(mintty是Cygwin的默认终端.如果你没有选择它-t,你的"Bash Prompt Here"将使用与Windows命令提示符相同的终端,这会阻止水平调整大小.)

  • 很棒的发现,谢谢!我发现你可以使用`-t`指定要打开的终端,例如,打开你使用`chere -i -t mintty'的薄荷 (38认同)
  • 有W7x64的权限问题(错误(5):访问被拒绝.Hive不可写).通过以管理员身份启动Cygwin解决. (29认同)
  • 刚刚用64位cygwin(1.7.27)进行测试,现在似乎已经存在.pro-tip:记得以管理员权限启动cygwin终端. (28认同)
  • 在我的情况下,Cygwin没有默认的shell,所以添加`-s bash`来制作`chere -i -t mintty -s bash`让这对我有用 (17认同)
  • 还有一点需要注意.如果您已经使用`chere -i -t mintty -f`执行此操作以强制覆盖.您仍然需要以管理员身份运行cygwin. (11认同)
  • x64有*bash*作为默认shell,但是上下文文本是哑巴'Bash Prompt Here`,所以你可以考虑使用`chere -i -t mintty -e"在这里打开Cygwin". (5认同)
  • 这里有一个很好的方法与图片:http://unitstep.net/blog/2009/05/16/open-cygwin-bash-shell-here/ (4认同)
  • 优秀!`chere -i -t mintty -s zsh`给了我选项:"在这里打开zsh提示符".只是门票! (3认同)
  • 我没有看到任何chere包:/ UPDATE:不在x64版本中,但它存在于32位版本中. (2认同)
  • `chere`s for this answer :)确认在x64上工作. (2认同)
  • 在最新版本中,您还需要通过`-s bash`(或您需要的任何其他shell)指定shell. (2认同)
  • 如果有人要删除上下文菜单项,只需将-i(安装)参数替换为-u(卸载),例如:`chere -u -t mintty -s bash` (2认同)

小智 95

这是我使用的.它不需要chere打包或注册表修改.适用于Windows 7.

转到"发送到"文件夹:

C:\Users\<your_user_name>\AppData\Roaming\Microsoft\Windows\SendTo
Run Code Online (Sandbox Code Playgroud)

Bash HereTarget字段中创建一个名为this 的快捷方式:

C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico  C:\cygwin\bin\bash.exe  -l -c "cd \"$0\" ; exec bash"
Run Code Online (Sandbox Code Playgroud)

在Windows资源管理器中,右键单击文件夹并选择Send To > Bash Here.

这是相反的技巧,在当前的bash目录中打开一个Windows资源管理器.创建此别名:

alias winx='/cygdrive/c/Windows/explorer.exe /e,\`cygpath -w .\`'
Run Code Online (Sandbox Code Playgroud)

注意:cygpath -w .上面的部分用后面的方法括起来.

现在只需键入winxbash提示符,然后会弹出一个Win Explorer.

注意:如果winx将您引导至您的文档文件夹,请尝试

alias winx='/cygdrive/c/Windows/explorer.exe /e,`cygpath -w $PWD`'
Run Code Online (Sandbox Code Playgroud)

  • 非常好的技巧,但`winx`别名对我的Cygwin设置不起作用.我必须删除两个反斜杠并用`$ PWD`替换`.`才能工作. (3认同)
  • 在 cygwin 2.6.0(在 Win 7 x64 上)中,可以更容易地完成:`cygstart .` 使用当前文件夹打开资源管理器,或任何文件夹语法 `cygstart ..`、`cygstart /your/path` 等。 。 (3认同)
  • 警告:`C:\ cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico C:\ cygwin\bin\bash.exe -l -c"cd \"$ 0 \"; exec bash`保持文件句柄打开到$ $ 0目录,即使你将工作目录更改为其他东西.更糟糕的产生窗口副本(`ALT + F2`),即使你已经更改了工作目录,也会打开另一个文件句柄`$ 0`.可能会干扰某些可能在任何进程中删除/修改`$ 0`的操作.如果在访问`$ 0`时出现'Permission Denied'错误,这可能是原因 (2认同)

bsc*_*agg 31

从cygwin终端运行以下命令:

echo "cd your_path" >> ~/.bashrc

打开新的bash会话时会运行.bashrc脚本.上面的代码在您打开新的cygwin会话时更改为your_path目录.

  • 这不是答案,因为它不会创建使用所述目录的快捷方式,如问题所要求的,它会更改启动Cygwin shell的所有方法的行为.您不应更改全局设置(或登录配置文件)以解决本地问题. (16认同)
  • 这是答案!太简单. (3认同)

Joh*_*cés 29

我创建了一个.reg文件,在右键单击上下文菜单中放置一个"Open Cygwin Here"选项.它取决于Cygwin"chere"包,如果你没有在初始设置中安装它,你可以使用apt-cyg安装它.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="C:\\cygwin\\bin\\mintty.exe -e /bin/xhere /bin/bash.exe"
Run Code Online (Sandbox Code Playgroud)

  • 对于那些想知道如何使用它的人,只需复制灰色背景文本并将其放在名为"foo.reg"的文本文件中,然后双击它. (6认同)
  • +1这里是最好的解决方案.并且感谢提及`apt-cyg`,我不知道这个工具 (3认同)

Tom*_*Kay 17

对于cygwin64或没有chere的安装,您可以在注册表项中使用以下命令(假设Windows由于您的路径,也假设cygwin安装目录为c:\ cygwin64)

C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd "`cygpath "%V"`"; bash'
Run Code Online (Sandbox Code Playgroud)

适用于Windows 7和8注册表文件可在此处下载:http://tomkay.me/blog/Cygwin64--- Open-Here-18

Windows Registry Editor Version 5.00
; Open cygwin to folder
; http://tomkay.me - Tom Kay

[HKEY_CLASSES_ROOT\Folder\shell\open_cygwin]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Folder\shell\open_cygwin\command]
@="C:\\cygwin64\\bin\\mintty.exe /bin/sh -lc 'cd \"`cygpath \"%V\"`\"; bash'"

[HKEY_CLASSES_ROOT\Directory\Background\shell\open_cygwin]
@="Open Cygwin Here"

[HKEY_CLASSES_ROOT\Directory\Background\shell\open_cygwin\command]
@="C:\\cygwin64\\bin\\mintty.exe /bin/sh -lc 'cd \"`cygpath \"%V\"`\"; bash'"
Run Code Online (Sandbox Code Playgroud)


pax*_*blo 12

如果要将该目录作为默认目录,只需cd~/.profile文件中添加一个语句即可.

我倾向于使用该方法设置我的常用目录,并为我的常见情况定义别名:

alias tom="cd /users/tom"
Run Code Online (Sandbox Code Playgroud)

或等同物.这让我可以非常快速地更改目录.

  • @tomeoftom,如果你只是在shell中运行它,它只会影响那个shell.它不会影响你开始的任何其他人.因此,如果您希望它始终可用,则需要将其放在一个启动文件中(其中"〜/ .profile"是一种可能性). (2认同)

Dou*_*oug 8

我使用和Icon在没有chere包的情况下启动我的cygwin .

  1. 在我的桌面上为cygwin终端创建一个快捷方式.
  2. R单击图标并选择属性.
  3. 在快捷方式选项卡上,将其用于TARGET: C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -c 'cd'
  4. 对于START IN,将dir /文件夹的路径放在要启动cygwin的位置.即C:\some\dir\name\here


nex*_*ayq 8

正如two7s_clash所说,你首先需要安装chere包和设置mintty:

  1. 以管理员身份打开Cygwin终端
  2. apt-cyg install chere
  3. chere -i -t mintty

现在,您可以在Windows资源管理器(上下文菜单)中单击鼠标右键打开特定目录中的cygwin,然后选择"Bash Prompt Here".

您还可以使用Windows命令提示符从特定目录打开cygwin:

  1. 打开Windows命令提示符
  2. Navigate(cd)到自定义目录
  3. 执行 C:\cygwin64\bin\mintty.exe C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l

    此命令将打开cygwin,其中当前目录取自命令提示符.

FreeCommander

此命令也可用于从自定义文件管理器打开cygwin,如FreeCommander.

要使用从FreeCommander获取的当前目​​录打开cygwin,请执行以下操作:

  1. 工具 - >收藏夹工具 - >收藏工具编辑...(Ctrl + Shift + Y)
  2. 添加新工具栏(+图标),快捷方式:插入

    • 姓名:cygwin
    • 程序或文件夹: C:\cygwin64\bin\mintty.exe
    • 开始文件夹: %ActivDir%
    • 参数: C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l

您可以添加自定义快捷方式以从FreeCommander打开cygwin:

  1. 工具 - >定义键盘快捷键
  2. 向下滚动到"收藏夹工具01"(或"收藏夹工具N")
  3. 分配新的快捷键:我使用Ctrl+ Shift+T

很好的参考:MinTTY Wiki,文章提示:从特定目录开始


Pat*_*lly 5

若要创建Windows快捷方式以在您选择的目录中启动Cygwin终端,请尝试以下操作:

  • 右键单击Windows桌面,选择“新建”,然后选择“快捷方式”。

  • 对于项目的位置,输入以下文本,mintty根据需要更改路径,并在指示的位置替换所需目录的名称。

    C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd DESIRED-DIRECTORY; exec bash'
    
    Run Code Online (Sandbox Code Playgroud)

    例如,OP将使用以下文本:

    C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd /cygdrive/c/Users/Tom/Desktop/; exec bash'
    
    Run Code Online (Sandbox Code Playgroud)
  • 点击下一步'。

  • 输入所需的快捷方式名称,然后单击“完成”。

可以在桌面上放置多个快捷方式,以在各种经常访问的目录中打开Cygwin终端。

受到在如何从Netbeans的特定目录中打开Cygwin shell上发布的解决方案的启发superuser.com上


归档时间:

查看次数:

120844 次

最近记录:

5 年,11 月 前