Кажется, что Ваши зависимости от репозитория повреждаются. Попытайтесь убрать Ваш /etc/apt/sources.list
. Который является текстовым файлом, который имеет все Ваши репозитории пакетов. Вероятно, Вы отредактировали его.
Затем сделайте apt-get update
. Необходимо сказать нам версию Ubuntu, и почему кажется, что у Вас есть другой зависимости, поврежденные как Wireshark.
Попробуйте с alias menu='bash ./menuScript.sh'
. В настоящее время я не нахожусь на машине с Linux, поэтому не могу протестировать ее самостоятельно, но она должна работать. Когда вы вызываете псевдоним, он не знает, что делать с путём, поэтому вы должны включить bash
в начало.
А сброс терминала помогает после внесения изменений.
.Когда вы делаете
alias menu='./menuScript.sh'
, вы создаете псевдоним, который говорит "этот файл", но не говорит, что с ним делать.
Однако, если вы делаете
alias menu='source ./menuScript.sh'
или
alias menu='. ./menuScript.sh'
, вы говорите , запустите этот файл.
Не забыли ли вы восстановить исходный файл ~/.bashrc после внесения изменений? Потому что изменения вступают в силу в вашем .bashrc-файле после перезагрузки компьютера или после простого исходного кода файла.
Причина, по которой это работало с vim
, заключается в том, что эту программу уже можно вызывать без прямого пути.Вам не нужно явно говорить «Я хочу, чтобы это выполнялось как программа», потому что vim
уже есть. В ОС жестко запрограммировано, чтобы при получении команды vim
перейти и выполнить файл /usr/bin/vi
или где-то еще, где находится фактическая программа.
Есть две проблемы с псевдонимом
alias menu='./menuScript.sh'
Требуется, чтобы вы находились в определенном каталоге, когда вы вызываете псевдоним. Если вы находитесь в каталоге, где menuScript.sh
не существует, псевдоним не будет выполнен.
Было бы лучше, если бы вы указали полный абсолютный путь к скрипту menuScript.sh
при определении псевдонима, например
псевдоним меню = "$HOME/local/bin/menuScript.sh"
или аналогичный.
Как уже говорили другие, еще одна причина, по которой псевдоним может дать сбой, заключается в том, что скрипт не является исполняемым или имеет недопустимый #!
-строка. Убедитесь, что скрипт является исполняемым с помощью
chmod +x menuScript.sh
и что первая строка скрипта
#!/bin/bash
или любой другой путь к bash
(или любой другой оболочке, для которой написан скрипт) в вашей системе.