我正在Windows机器上开发。我需要 linux 命令行的唯一地方是 Git Bash。问题是:当我打开它时,我在主目录中。我必须将目录更改为我的工作区,例如:
cd ../../../d/work_space_for_my_company/project/code_source
我可以将它包装在 .sh 文件中,这样我就不必再手动输入了吗?这应该很简单,但我对 Linux 命令行的了解为零。如果您能指导我完成如何创建该 .sh 文件,我将不胜感激。
这是一个更适合 Windows 的解决方案:右键单击用于启动 git bash 的 Windows 快捷方式,然后单击“属性”。将“Start In”的值更改为所需的工作空间路径。
编辑:还要检查 Target 值是否不包括 --cd-to-home 选项,如下面的评论中所述。
只需将该行写入文件“cd.sh”,然后在 shell 提示符下执行此操作:
. ./cd.sh
或者,您可以在$HOME/.bashrc
文件中创建别名或函数:
foo() { cd /d/work_space_for_my_company/project/code_source ; }
如果目录名称包含空格或其他 shell 元字符,则需要引号;即使没有必要,添加它们也无妨:
foo() { cd "/d/Work Space/project/code_source" ; }
(请注意,我省略了../../..
; 你不需要它。)
编辑:如果你添加一行
foo
在.bashrc
函数定义之后,您的 shell 将在该目录中启动。或者,如果您以后不需要使用该功能,则可以cd
直接在您的命令中使用该命令。.bashrc
(这个名字foo
只是一个例子;你应该选择一个更有意义的名字。)
将该行添加到.bashrc
主目录中的文件(如果文件不存在,则创建该文件):
cd ~
touch .bashrc
echo "cd ~/Desktop/repos/" >> .bashrc
我使用ConEmu (在 Windows 上强烈推荐),我有一个启动 Git Bash 的任务,比如
请注意底部的“启动目录...”按钮。它-new_console:d:<path>
在 Git Bash 的启动命令中添加了一个。让它指向你喜欢的任何地方
这可能会对您有所帮助。
--go-to-home
,否则它将继续在 HOME 变量中指定的目录中启动而已。
我也刚刚将快捷方式图标的“开始于”设置更改为:%HOMEDRIVE%/xampp/htdocs/
(请阅读下面的警告)
在 Windows 中执行此操作的非常简单的方法(与 git bash 一起使用,可能还有其他方法)是创建一个名为 HOME 的环境变量,它指向您想要的主目录。
注意:这可能会改变其他事情的工作方式。例如,对我来说,它改变了我的 .ssh 配置文件所在的位置。就我而言,我希望我的家是 U:\,因为那是我放置项目工作和应用程序设置的主要位置(即它确实是我的“家”目录)。
编辑 2017 年 6 月 23 日:这个答案继续得到偶尔的支持,我想警告人们,虽然这可能“有效”,但我同意 @AnthonyRaymond 不推荐这样做。如果您不在乎其他事情是否损坏,这更多是临时修复或修复。改变你的家不会造成主动损坏(比如删除你的硬盘),但它可能会在以后引起阴险的烦恼。当你在路上开始遇到烦人的问题时,你可能不会记得这个变化......所以你以后可能会摸不着头脑!
假设您希望每次打开命令行时都发生这种情况,这将执行此操作:
echo cd ../../../d/work_space_for_my_company/project/code_source >> ~/.bashrc
现在,当您打开 shell 时,它将从主目录向上移动三个目录并更改为 code_source。
此代码只是将“cd ../../../d/work_space_for_my_company/project/code_source”行附加到名为“.bashrc”的文件中。如果文件不存在,“>>”会创建一个文件,然后追加。.bashrc 文件可用于在启动/登录时运行命令(即加载模块等)
右键单击 Git Bash 应用程序链接,转到“属性”并将“开始位置”修改为您希望它开始的位置。
对于 Windows:按照以下步骤操作 -
cd-to-home
从target
(b)在“开始于”中键入要以 git 开头的文件夹路径。这对我有用:)
如果您想在打开 GIT bash 时获得项目选择列表:
ppath
在代码头中编辑您的 git 项目路径,将此代码放入.bashrc文件并将其复制到您的$HOME目录中(在 Win Vista / 7 中通常为c:\Users\$YOU)#!/bin/bash
ppath="/d/-projects/-github"
cd $ppath
unset PROJECTS
PROJECTS+=(".")
i=0
echo
echo -e "projects:\n-------------"
for f in *
do
if [ -d "$f" ]
then
PROJECTS+=("$f")
echo -e $((++i)) "- \e[1m$f\e[0m"
fi
done
if [ ${#PROJECTS[@]} -gt 1 ]
then
echo -ne "\nchoose project: "
read proj
case "$proj" in
[0-`expr ${#PROJECTS[@]} - 1`]) cd "${PROJECTS[proj]}" ;;
*) echo " wrong choice" ;;
esac
else
echo "there is no projects"
fi
unset PROJECTS
如果您键入此命令:
echo cd d:/some/path >> ~/.bashrc
将行追加cd d:/some/path
到.bashrc
. 如果>>
文件不存在,则创建一个文件,然后追加。
当我将 cd 放入工作目录 ~/.bashrc 时,我在 Windows 上的 Git Bash 快捷方式抱怨
WARNING: Found ~/.bashrc but no ~/.bash_profile, ~/.bash_login or ~/.profile.
This looks like an incorrect setup.
A ~/.bash_profile that loads ~/.bashrc will be created for you.
所以 git 创建了这个 .bash_profile:
$ cat ~/.bash_profile
# generated by Git for Windows
test -f ~/.profile && . ~/.profile
test -f ~/.bashrc && . ~/.bashrc
哪个工作。
或者,您可以再次删除 .bashrc 并将 cd 命令放入 .bash_profile:
$ rm ~/.bashrc
$ echo "cd Source/Repos" >~/.bash_profile
$ cat ~/.bash_profile
cd Source/Repos
完成此操作后,您可以关闭窗口并使用桌面快捷方式重新打开它,提示将告诉您您的位置现在是您想要的位置 - 看起来这是我的情况:
Administrator@raptor1 MINGW64 ~/Source/Repos
$
Windows用户的另一个解决方案是将 Git Bash.lnk 文件复制到您需要启动的目录并从那里启动它。
肯定是cd d:/work_space_for_....
没有:
它对我不起作用