Как выполнить пользовательские сценарии fish в папке с пользовательским путем

#fish

#рыба

Вопрос:

У меня возникли проблемы с выполнением созданного мной сценария в виде рыбьей раковины. Я добавил его в пользовательский путь, который я добавил, используя fish_add_path . Папка выглядит просто отлично в $fish_user_paths и $PATH , и у меня есть CHMOD x файл, но когда я набираю имя файла (что на данный момент является выбором), он не может найти команду. Как добавить сценарии fish в путь и выполнить их, как любую другую команду cli (например, pickc)?

Содержание скрипта таково:

 #!usr/bin/fish  colorpicker --short --one-shot --preview | sed -z 's/n//g' | xclip -selection c pkill picom picom -b  

Я могу отлично выполнить сценарий с fish -c pickc помощью команды, но я не могу выполнить с ./pickc помощью , что выдает ошибку

Failed to execute process './pickc'. Reason: The file './pickc' does not exist or could not be executed.

Я дважды подтвердил, что путь в переменной $PATH and $fish_user_variable действительно ведет к папке, содержащей скрипт.

Редактировать: Я заметил, что все мои пути были каким-то образом перепутаны. Приведенный ниже ответ действительно устраняет проблему невозможности его выполнения, так что спасибо

Комментарии:

1. Что такое имя файла

2. имя файла-pickc. В первой строке есть shebang #!/usr/bin/fish, который выводит какую рыбу.

3. Запуск fish pickc в каталоге работает. Но я не могу этого сделать ./pickc . Ошибка «Не удалось выполнить процесс». /pickc». Причина: Файл». /pickc «не существует или не может быть выполнен».

4. Ваша линия связи неверна. Так и должно быть #!/usr/bin/fish (обратите внимание на ведущую косую черту на пути). Это, конечно, предполагает, что вы установили fish как /usr/bin/fish , а не, скажем, /usr/local/bin/fish .

Ответ №1:

Вы неправильно набрали свой текст. Переключатель

 #!usr/bin/fish  

Для

 #!/usr/bin/fish  

или что which fish там показывает путь.

Комментарии:

1. Спасибо, мне удалось заставить его работать, ./pickc когда я уже нахожусь в папке с вашим ответом, однако я все еще не могу выполнить сценарий как глобальную команду.

2. Похоже, что каталог не находится в вашем $ПУТИ. Вы можете использовать fish_add_path /path/to/directory его для добавления.