Git Bash - как по умолчанию использовать другой каталог вместо домашнего каталога

Я разрабатываю на машине windows. Единственное место, которое мне нужно для командной строки linux, - это Git Bash. Проблема в том, что когда я открываю его, я нахожусь в домашнем каталоге. Я должен изменить каталог на свое рабочее пространство, например:

cd ../../../d/work_space_for_my_company/project/code_source

могу ли я завернуть это в a .sh-файл, поэтому мне больше не нужно печатать его вручную? Это должно быть просто, но у меня нет знаний о командной строке Linux. Я действительно ценю, если вы можете проводить меня через Как создать это .файл SH.

16 ответов


просто напишите эту строку в файл "cd.sh", тогда сделайте это из вашей командной строки:

. ./cd.sh

или вы можете создать псевдоним или функцию в вашем :

foo() { cd /d/work_space_for_my_company/project/code_source ; }

если имя каталога включает пробелы или другие метасимволы оболочки, вам понадобятся кавычки; не повредит добавить их, даже если они не нужны:

foo() { cd "/d/Work Space/project/code_source" ; }

(обратите внимание, что я опустил ../../.., вам не нужно.)

EDIT: если вы добавляете линия

foo

на .bashrc после определения функции ваша оболочка запустится в этом каталоге. Или вы можете просто использовать прямо в .bashrc если вам не нужно будет использовать функцию позже.

(название foo это просто пример; вы должны выбрать более значимое имя.)


вот еще одно решение для Windows-ish: Щелкните правой кнопкой мыши ярлык Windows, который используется для запуска Git bash, и выберите Свойства. Измените значение "Start In" на нужный путь к рабочей области.

Edit: также убедитесь, что целевое значение не включает параметр --cd-to-home, как указано в комментариях ниже.


добавить строку .bashrc файл в домашнем каталоге (создайте файл, если он не существует):

cd ~
touch .bashrc
echo "cd ~/Desktop/repos/" >> .bashrc

Я использую cmd-файла (настоятельно рекомендуется для Windows) где у меня есть задача для запуска Git Bash, как

enter image description here

обратите внимание на кнопку " Startup dir...- на дне. Он добавляет -new_console:d:<path> к команде запуска Git Bash. Сделайте это указать, где вам нравится


Это может помочь вам.

image description

  1. щелкните правой кнопкой мыши на Git bash - > свойства
  2. на вкладке Shorcut - > Пуск в поле - > Введите свой пользовательский путь
  3. убедитесь, что поле назначения не включает --go-to-home или он будет продолжать запускаться в каталоге, указанном в вашей домашней переменной

вот и все.


Я также просто изменил настройку" Пуск в " значка ярлыка на:%HOMEDRIVE%/xampp/htdocs/


(пожалуйста, прочитайте предупреждение ниже)

очень простой способ сделать это в Windows (работает с Git bash, возможно, другие), чтобы создать переменную среды под названием HOME, которая указывает на нужный домашний каталог.

  1. щелкните правой кнопкой мыши на моем компьютере и выберите Свойства
  2. выберите Дополнительные параметры системы (расположение зависит от версии Windows)
  3. в свойствах системы выберите вкладку Дополнительно
  4. на вкладке Дополнительно , выберите Переменные среды (нижняя кнопка)
  5. в разделе "системная переменная" проверьте, есть ли у вас уже переменная с именем HOME. Если это так, измените эту переменную, выделив имя переменной и нажав кнопку Изменить. Сделайте имя новой переменной нужным путем.
  6. если HOME еще не существует, нажмите "Создать" в разделе системные переменные и создайте новую переменную HOME, значение которой является желаемым путем.

Environmental Variable

Примечание: это может изменить как работают другие вещи. Например, для меня это меняет, где мой .файлы конфигурации ssh живут. В моем случае я хотел, чтобы мой дом был U:\, потому что это мое главное место, где я ставлю работу над проектом и настройки приложения (т. е. это действительно мой "домашний" каталог).

EDIT июнь 23, 2017: этот ответ продолжает получать случайные upvotes, и я хочу предупредить людей, что, хотя это может "работать", я согласен с @AnthonyRaymond, что это не рекомендуется. Это скорее временное исправление или исправление, если вы плевать, если что-то сломается. Изменение вашего дома не приведет к активному повреждению (например, удалению жесткого диска), но это может вызвать коварные раздражения позже. Когда у вас появятся неприятные проблемы в будущем, вы, вероятно, не вспомните об этом изменении... так что ты, скорее всего, будешь чесать голову позже!


это сделает это, если вы хотите, чтобы это происходило каждый раз, когда вы открываете командную строку:

echo cd ../../../d/work_space_for_my_company/project/code_source >> ~/.bashrc

теперь, когда вы откроете оболочку, она переместится на три каталога из дома и изменится на code_source.

этот код просто добавляет строку " cd ../../../d/work_space_for_my_company/project / code_source" в файл с именем ".bashrc следующее". ">>"Создает файл, если он не существует, а затем добавляет. Этот.файл bashrc полезен для запуска команд во время запуска / входа в систему (т. е. загрузка модулей и т. д.)


щелкните правой кнопкой мыши ссылку приложения Git Bash перейдите к свойствам и измените начало в местоположении, чтобы это было место, с которого вы хотите начать.


для windows: выполните следующие действия -

  1. перейдите в Windows home> щелкните правой кнопкой мыши на приложении "Git Bash".
  2. Свойства> Ярлык
  3. изменить эти два параметра: a) исключить ...cd-to-home с target (b) введите путь к папке, который вы хотите начать с git в "Start in".

это сработало для меня:)


Если вы хотите список выбора проектов когда вы открываете Git bash:

  • редактировать ppath в заголовке кода для ваших проектов git путь, поместить этот код в .bashrc и файл и скопируйте его в свой $HOME dir (в Win Vista / 7 это обычно c:\Users\$вы)

.

#!/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
  • вы можете установить этот файл как исполняемый внутри Git bash chmod +x .bashrc и (но это, вероятно, избыточно, так как этот файл хранится на ntfs файловая система)

мой ярлык Git Bash на Windows жаловался, когда я поместил компакт-диск в свой рабочий каталог в~/.bashrc и

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 создал это .файл:

$ cat ~/.bash_profile
# generated by Git for Windows
test -f ~/.profile && . ~/.profile
test -f ~/.bashrc && . ~/.bashrc

что делает работу.

кроме того, вы можете просто удалить .bashrc снова и поставил команду cd .файл:

$ rm ~/.bashrc
$ echo "cd Source/Repos" >~/.bash_profile

$ cat ~/.bash_profile
cd Source/Repos

как только это будет сделано, вы можете закрыть окно и снова открыть его, используя ярлык на рабочем столе, и приглашение скажет вам, что ваше местоположение теперь где вы этого хотели-похоже, это мой случай:

Administrator@raptor1 MINGW64 ~/Source/Repos
$

из закрепленного пункта меню "Пуск" в Windows 10

  1. Открыть расположение файла закрепленного ярлыка
  2. открыть свойства ярлыка
    1. удалить --cd-to-home arg
    2. обновление Start in путь
  3. Re-pin для запуска меню через недавно добавлено

open file location screenshot

open shortcut properites screenshot

update shortcut properites screenshot

pin via recently added screnshot


спасибо всем другим ответам за то, как это сделать! Хотел предоставить инструкции Win 10...


должно быть cd d:/work_space_for_....

без : это не работает для меня


другое решение для Windows пользователи будут копировать Git Bash.файл lnk в каталог, с которого вам нужно начать и запустить его оттуда.


Если ввести эту команду: Эхо компакт-диск d:/some/path >> ~/.bashrc и

добавляет строку cd d:/some/path к ".bashrc следующее". ">>"Создает файл, если он не существует, а затем добавляет.