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

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

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

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

Ответ 1

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

. ./cd.sh

Или вы можете создать псевдоним или функцию в вашем файле $HOME/.bashrc:

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

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

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

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

EDIT: если вы добавите строку

foo

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

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

Ответ 2

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

Изменить: также проверьте, что значение Target не включает параметр -cd-to-home, как указано в комментариях ниже.

Ответ 3

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

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

Ответ 4

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

enter image description here

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

Ответ 5

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

image description

  • Щелкните правой кнопкой мыши по git bash → свойствам
  • В вкладке Shorcut → Начало в поле → введите свой путь, указанный пользователем
  • Убедитесь, что поле Target не включает --go-to-home или оно будет продолжать запускаться в каталоге, указанном в вашей переменной HOME

Вот оно.

Ответ 6

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

Ответ 7

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

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

  • Щелкните правой кнопкой мыши на моем компьютере и выберите свойства
  • Выберите дополнительные системные настройки (местоположение зависит от версии Windows)
  • В свойствах системы выберите вкладку "Дополнительно"
  • На вкладке "Дополнительно" выберите "Экологические переменные" (нижняя кнопка).
  • В разделе "Системная переменная" проверьте, есть ли у вас уже переменная с именем HOME. Если это так, отредактируйте эту переменную, выделив имя переменной и нажав править. Сделайте новое имя переменной нужным.
  • Если HOME еще не существует, нажмите "новый" под системными переменными и создайте новую переменную с именем HOME, значение которой является желаемым путем.

Environmental Variable

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

РЕДАКТИРОВАТЬ 23 июня 2017 года. Этот ответ по-прежнему вызывает случайные изменения, и я хочу предупредить людей, что, хотя это может "работать", я согласен с @AnthonyRaymond, что он не рекомендуется. Это скорее временное исправление или исправление, если вам все равно, если другие вещи сломаются. Изменение вашего дома не приведет к активному повреждению (например, удаление жесткого диска), но это может вызвать коварные досады позже. Когда вы начинаете испытывать раздражающие проблемы по дороге, вы, вероятно, не запомните это изменение... так что вы, вероятно, поцарапаете свою голову позже!

Ответ 8

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

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 полезен для запуска команд при запуске/входе в систему (т.е. Загрузка модулей и т.д.).

Ответ 9

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

Ответ 10

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

  • Перейдите в Windows Home > Щелкните правой кнопкой мыши на "Git Bash".
  • Свойствa > Ярлык
  • Измените эти два параметра: (a) Удалить - cd-to-home из target (b) Введите путь к папке, с которой вы хотите начать с git в "Начать".

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

Ответ 11

Если вы хотите иметь список выбора проектов, когда u open GIT bash:

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

Ответ 12

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

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

Ответ 13

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

Ответ 14

Если вы наберете эту команду: echo cd d:/some/path → ~/.bashrc

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

Ответ 15

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

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

[email protected] MINGW64 ~/Source/Repos
$