Я просмотрел все подобные вопросы о переполнении стека и попробовал кучу вещей в их документации. Моя нынешняя попытка ниже.
Я пытаюсь добиться дифференциального поведения в зависимости от пользователя компьютера. У меня есть рабочий компьютер и домашний компьютер, и я хочу, чтобы рабочий компьютер переходил в другой каталог, когда я ввожу «код» в командную строку, чем тот, который я хочу, когда я ввожу его дома. Я пробовал это (мое рабочее имя пользователя afk, домашнее sfk):
function code
set result (dirh)
if [contains "sfk" $result]
cd ~/rails
else if [contains "afk" $result]
cd ~/code
else
echo $result
end
end
В настоящее время мне кажется, что «Неизвестная команда содержит Users/sfk/.config/fish/» (мой PWD — Users/sfk/.config/fish/, когда я ввожу это). Я думаю, может быть, contains только для списков, но документы не особенно ясны по этому поводу? Есть идеи, как я могу это сделать?
ИЗМЕНИТЬ
Только что попробовал это, и, хотя ошибок больше нет, он оказывается в другом случае, чего не должно быть, потому что мой пользователь IS sfk, который включен в строку dirh:
function code
set result (dirh)
if test (contains "sfk" $result)
cd ~/rails
else if test (contains "afk" $result)
cd ~/code
else
echo $result
end
end
code
? - person Hauleth   schedule 08.06.2013.configrc
и загрузить его в свойfish.config
. Этот подход будет более универсальным. - person Hauleth   schedule 08.06.2013