Linux: Могу ли я создать ярлык для сложной команды cd, не прибегая к сценарию оболочки?

Проблема исправлена. Колонна была скрыта.

Я удалил весь пакет и переустановил, после чего смог переместить первый заголовок «name».

6
06.03.2013, 23:44
4 ответа

Вы можете сделать что-нибудь с помощью функции bash.

site() {
    cd /foo/bar/site${1}/userA
}

Поместите это в свой .bashrc и затем вызовите его, как

site 2

, это приведет вас к / foo / bar / site2 / userA

6
29.04.2021, 00:50

Используйте такую ​​функцию bash.

function myCD() {
   local site
   local user
   case $# in
     0)  read -p site: site
         read -p user: user
         ;;
     1|2)
        site=${1}
        user=${2:-userA}
        ;;
    *)
       echo "don't accept more as 2 arguments" >&2
       return 1
       ;;
   esac
   cd ${fb}/${site}/${user}
}
3
29.04.2021, 00:50

Вы могли бы просто использовать псевдоним вроде

alias site2="cd /foo/bar/site2/userA"

Вы также можете посмотреть в переменную окружения CDPATH. См. Страницу руководства для вашей оболочки.

2
29.04.2021, 00:50

Просто свяжите их с вашим домашним каталогом:

ln -s /foo/bar/site{$1}/userA ~/workspace/$1

Таким образом, они все будут казаться вам локальными. Не нужно возиться, пока не будет добавлен новый сайт.

Или сделайте то, что я делаю: Смонтируйте их на мою локальную рабочую станцию ​​через SSH прямо в мой домашний каталог .. IDE и еще много чего другого, так как они есть, это обычно более эффективно.

mkdir ~/workspace/site1
sshfs -o idmap=user $USER@server:/foo/bar/baz/site1/userA ~/workspace/site1

Чтобы отключить,

fusermount -u ~/workspace/site1

Из ubuntu help

Вставьте это в свой сценарий входа, бинго, вся ваша рабочая база принадлежит нам!

2
29.04.2021, 00:50

Теги

Похожие вопросы