2015-09-09 3 views
-3

У меня есть git repo в папке, которая находится внутри нескольких других папок. Когда я хочу использовать командную строку для git, я должен сделать cd /Desktop/.../.../.../.../repo_folder для выполнения команд git. Является ли это тем, что я могу установить ярлык в папку или быстрее попасть в папку, потому что нужно вводить длинный путь длиной 70 символов, не является идеальным.Папка ярлыка в bash

Спасибо!

+2

Взгляните на [эту Unix Stack бирже] (HTTP : //unix.stackexchange.com/questions/1469/bash-directory-shortcuts). –

+2

Я голосую, чтобы закрыть этот вопрос как не относящийся к теме, потому что вопросы об использовании Unix не являются само по себе и лучше подходят для [Unix & Linux] (http://unix.stackexchange.com). – kojiro

+0

Я не знал о существовании Unix & Linux.Виноват. – intboolstring

ответ

3

Вы можете использовать опцию cdable_varsbash, которая позволяет вам позвонить по номеру cd с именем переменной. Если аргумент, переданный в cd, не является каталогом, то предполагается, что это имя переменной, а значение переменной используется как целевой каталог.

Пример использования: если вы поместите это в ваш ~/.bashrc:

alias show='cat ~/.dirs' 
save() { 
    here=`pwd` 
    if (($# == 0)); then 
     name=`basename $here` 
    elif (($# > 1)); then 
     echo "usage: save [<name>]" 
     return -1 
    else 
     name=$1 
    fi 
    sed -i -e "/^$name=/d" ~/.dirs 
    echo "$name=\"$here\"" >> ~/.dirs 
    source ~/.dirs 
} 
source ~/.dirs 
shopt -s cdable_vars 

Затем, когда текущий каталог является тот, который вы хотите запомнить, просто введите:

save my_dir 

и следующий время, в которое вы хотите пойти, просто введите:

cd my_dir 

Как долго нет my_dir, где вы вводите текст, он приведет вас туда, куда вы хотите. Аргумент save не является обязательным. Если вы не предоставите его определяются короткая рука будет базовым именем текущего каталога:

cd /Desktop/../../../../repo_folder 
save 

определит repo_folder как короткую руку для этого каталога.

Файл ~/.dirs содержит определения переменных для ваших любимых каталогов. Если хотите, вы можете отредактировать его вручную. Эти определения оцениваются каждый раз при запуске новой оболочки bash. Помните, что они могут перезаписать другие, которые вам также нужны. Если это проблема, я советую вам выбрать уникальные короткие руки (my_dir_repo_folder вместо repo_folder). И помните вторую ловушку, когда вы набираете:

cd foo 

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

Алиас show - это всего лишь способ перечислить все имеющиеся в настоящее время короткие руки.

0

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

enter image description here

Смежные вопросы