Не удается запустить внешнюю программу Bash - / usr / bin / bash: плохой интерпретатор: нет такого файла или каталога - PullRequest
0 голосов
/ 16 февраля 2020

Я пытаюсь запустить инструмент CLI в Linux (Mint), который позволяет мне редактировать субтитры. Он называется subedit: github link . Чтобы запустить его, я добавил исполняемый файл с разрешением chmod +x и добавил его к пути в bash. Однако, когда я запускаю его, я получаю следующее сообщение об ошибке:

bash: /home/main/Documents/shellTools/subedit/subedit: /usr/bin/bash: bad interpreter: No such file or directory

Я не очень опытен с внешними bash программами и забыл сделать что-то, что было бы очевидно в ретроспективе.

Когда я делаю echo $PATH это вывод:

/home/main/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/main/Documents/shellTools/subedit/

Может кто-нибудь помочь, пожалуйста?

Ответы [ 2 ]

2 голосов
/ 16 февраля 2020

Предполагается, что bash установлено (обычно это так), измените первую строку subedit с:

#!/usr/bin/bash

на:

#!/bin/bash

или , если вы предпочитаете не редактировать subedit, попробуйте этот однострочный, охватывающий то, что Аль-Валид Шихадех предложил :

ln -s "$(which bash)" /usr/bin/bash
0 голосов
/ 16 февраля 2020

Кажется, что у вас не установлено bash, вы можете проверить это, запустив

which bash 

, если вышеприведенная команда вернет "bash not found", тогда вам нужно установить его , Если приведенная выше команда возвращает путь, вы можете использовать приведенную ниже команду для добавления символической ссылки к ожидаемому пути

ln -s $(path from the above command) /usr/bin/bash
...