Чтобы иметь возможность запустить мою рабочую среду одной командой, я хочу запустить несколько urxvt
окон с запущенной fish
оболочкой в разных папках. Однако я не нашел очевидного способа запустить fish
команду запуска (например, cd
) и не выходить после этого. Кто-нибудь разобрался, как сделать запуск fish
в определенном каталоге, не делая его каталогом по умолчанию в config.fish
?
решение1
Бегите cd
от всего, что зовет рыбу. Например, вместо urxvt -e fish
, бегите
urxvt -e sh -c 'cd /wherever/you/want; fish'
Сделайте это, urxvt -e sh -c 'cd /wherever/you/want && fish'
если вы не хотите, чтобы терминал открывался, если каталог не существует.
решение2
Все время, что я пользуюсь StackExchange, меня преследует эта проблема: как только я нахожу время написать вопрос, я чудесным образом нахожу ответ.
Для тех, кто пытается сделать то же самое, вот что у меня получилось.
Если я добавлю следующее в начало моегоконфиг.рыба:
cd $FISH_START_DIR
то я могу сделать то, что хотел, с помощью следующей командной строки:
$ urxvt -e /bin/bash -c 'FISH_START_DIR=<my required directory> fish'
Хакерство, да, но работает волшебно.
Извините за ложную тревогу.