Пытаясь запустить некоторые функции bash, но продолжайте сталкиваться с синтаксической ошибкой: «(« неожиданно. Я попытался удалить скобки, скобки и т. д. и т. д. ... ничего не работает.
$ bash --version
GNU bash, version 4.3.46(1) release
#!/bin/bash
function hello () {
echo "Hello world"
}
GNU Bash - это оболочка, используемая по умолчанию в терминалах на Ubuntu. Однако, когда скрипты выполняются при загрузке системы, используется тире, поскольку это черта, которая является /bin/sh.
Не работает ->
$ sh hello.sh
Будет работать ->
$./hello.sh
Задача решена
Согласно вашему сценарию:
#!/bin/bash
function hello () {
echo "Hello world"
}
#call this function as follow:
hello # Syntax Correct
hello() # Syntax Error
Сначала:
Синтаксическая ошибка связана с (). Удалите () из файла следующим образом:
#!/bin/bash
function hello {
echo "Hello world"
}
или вы можете просто запустить следующую команду, чтобы отредактировать файл для вас:
sed -i 's/() //g' hello.sh
Теперь вы должны иметь возможность запустите файл с желаемым результатом.
Сначала: :
Вы могли бы добавить строки 2, 3 и 4 в ваш файл ~/.bashrc.
function hello () {
echo "Hello world"
}
Помните, не используйте sudo для редактирования файла ~/.bashrc!
После добавления строк в файл выполните следующую команду для перезапуска bash или «source «ваш .bashrc-файл:
. ~/.bashrc
Теперь вы должны иметь возможность запускать comand hello, а« Hello world »должен быть напечатан в терминале.
do not
Вы можете отредактировать файл, чтобы сказать это:
#!/bin/bash
echo "Hello world"
и назовите файл hello и сохраните файл на /usr/local/bin.
После выполнения всего этого сделайте исполняемый файл, выполнив следующую команду:
sudo chmod +x /usr/local/bin/hello
Теперь вы можете запустить команду hello и «Hello world» должен быть напечатан в терминале.
Наконец:
Третьим вариантом было бы добавить следующую строку в ваш файл ~/.bashrc :
alias hello='echo "Hello world"'
Затем отправьте свой .bashrc-файл, используя следующую команду:
. ~/.bashrc