Попытка выполнить некоторые функции удара, но продолжать встречаться с синтаксической ошибкой: "(" неожиданный. У меня есть try'ed удаление скобок, круглая скобка и т.д. и т.д.... ничто, кажется, не работает.
$ bash --version
GNU bash, version 4.3.46(1) release
#!/bin/bash
function hello () {
echo "Hello world"
}
Если Вы запустите скрипт с sh hello.sh
, то оболочка интерпретации не будет той, упомянутой в строке хижины, но /bin/sh
будет использоваться. В случае Debian и Ubuntu по умолчанию это будет dash
.
Так для запущения скрипта правильно с bash
используйте любое из следующих.
/bin/bash hello.sh
или
chmod +x hello.sh
./hello.sh
, Кроме того, Вы также могли установить bash
как /bin/sh
.
dpkg-reconfigure dash
Bash GNU является оболочкой, используемой по умолчанию в терминалах на 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
файл!
После того, как Вы добавляете строки к файлу, выполняете следующую команду, чтобы перезапустить удар или "получить" Ваш .bashrc файл:
. ~/.bashrc
Необходимо теперь смочь выполнить команду hello
и "Привет мир" должен распечатать в терминале.
Также:
Вы могли отредактировать файл для высказывания этого вместо этого:
#!/bin/bash
echo "Hello world"
и назовите файл hello
и сохраните файл к /usr/local/bin
.
После выполнения всего этого сделайте исполняемый файл файла путем выполнения следующей команды:
sudo chmod +x /usr/local/bin/hello
Необходимо теперь смочь выполнить команду hello
и "Привет мир" должен распечатать в терминале.
Наконец:
Третья опция состояла бы в том, чтобы добавить следующую строку к Вашему ~/.bashrc
файл:
alias hello='echo "Hello world"'
Затем получите свой .bashrc файл с помощью следующей команды:
. ~/.bashrc