Xi *_*ang 179 bash shell git-bash
我正在开发一台Windows机器.我需要的linux命令行唯一的地方是Git Bash.问题是:当我打开它时,我在主目录中.我必须将目录更改为我的工作区,例如:
cd ../../../d/work_space_for_my_company/project/code_source
Run Code Online (Sandbox Code Playgroud)
我可以将它包装在.sh文件中,这样我就不用再手动输入了吗?这应该很简单,但我对Linux命令行一无所知.我非常感激如果你能指导我如何创建.sh文件.
Dav*_*gal 372
这是一个更多Windows-ish解决方案:右键单击用于启动git bash的Windows快捷方式,然后单击"属性".将"Start In"的值更改为所需的工作空间路径.
编辑:同时检查目标值是否包含--cd-to-home选项,如下面的注释中所述.
Kei*_*son 100
只需将该行写入文件"cd.sh",然后从shell提示符处执行此操作:
. ./cd.sh
Run Code Online (Sandbox Code Playgroud)
或者您可以在$HOME/.bashrc文件中创建别名或功能:
foo() { cd /d/work_space_for_my_company/project/code_source ; }
Run Code Online (Sandbox Code Playgroud)
如果目录名称包含空格或其他shell元字符,则需要引号; 即使它们没有必要,添加它们也不会有害:
foo() { cd "/d/Work Space/project/code_source" ; }
Run Code Online (Sandbox Code Playgroud)
(注意我省略了../../..;你不需要它.)
编辑:如果你添加一行
foo
Run Code Online (Sandbox Code Playgroud)
你的.bashrc函数定义后,你的shell会在该目录中开始.或者您可以cd直接在您的命令中使用该命令,.bashrc如果您以后不需要使用该功能.
(这个名字foo只是一个例子;你应该选择一个更有意义的名字.)
ori*_*rip 45
将行添加到.bashrc主目录中的文件(如果文件不存在,则创建该文件):
cd ~
touch .bashrc
echo "cd ~/Desktop/repos/" >> .bashrc
Run Code Online (Sandbox Code Playgroud)
小智 23
这可能对你有所帮助.

--go-to-home,否则它将继续在HOME变量中指定的目录中启动而已.
这样做是假设您希望每次打开命令行时都发生这种情况:
echo cd ../../../d/work_space_for_my_company/project/code_source >> ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
现在,当您打开shell时,它将从home向上移动三个目录并更改为code_source.
此代码只是将"cd ../../../d/work_space_for_my_company/project/code_source"行附加到名为".bashrc"的文件中.如果文件不存在,则">>"会创建一个文件然后追加..bashrc文件对于在启动/登录时运行命令很有用(即加载模块等)
(请阅读下面的警告)
在Windows中执行此操作的非常简单的方法(使用git bash,可能还有其他方法)是创建一个名为HOME的环境变量,指向所需的主目录.

注意:这可能会改变其他工作方式.例如,对我而言,它改变了我的.ssh配置文件所在的位置.在我的情况下,我希望我的家是U:\,因为这是我放置项目工作和应用程序设置的主要位置(即它确实是我的"主页"目录).
编辑2017年6月23日:这个答案继续得到偶尔的赞成,我想警告人们虽然这可能"有效",但我同意@AnthonyRaymond不建议这样做.如果您不关心其他事情是否破裂,这更像是一个临时修复或修复.更换房屋不会造成主动损坏(如删除硬盘),但以后可能会造成阴险的烦恼.当你开始遇到烦人的问题时,你可能不会记得这个变化......所以你可能会在以后摸不着头脑!
从Windows 10中的固定开始菜单项
--cd-to-homeargStart in路径感谢所有其他答案,如何做到这一点!想提供Win 10指令......