Próbuję uruchomić niektóre funkcje bash, ale ciągle napotyka błąd składniowy: „(„ nieoczekiwany. Próbowałem usunąć nawiasy, nawiasy itp. Itd.)… Nic nie działa.
$ bash --version
GNU bash, version 4.3.46(1) release
#!/bin/bash
function hello () {
echo "Hello world"
}
Odpowiedzi:
Jeśli używasz skryptu
sh hello.sh
, powłoką interpretacyjną nie będzie ta wymieniona w linii shebang, ale/bin/sh
zostanie ona użyta. W przypadku Debiana i Ubuntu będzie to domyślniedash
.Aby więc poprawnie uruchomić skrypt za pomocą a
bash
, użyj jednego z poniższych.lub
Alternatywnie możesz również ustawić
bash
jako/bin/sh
.źródło
Pierwszy:
Błąd składniowy wynika z (). Usuń () z pliku w następujący sposób:
lub możesz po prostu uruchomić następujące polecenie, aby edytować plik:
Teraz powinieneś być w stanie uruchomić plik z pożądanym rezultatem.
Alternatywnie :
Możesz dodać linie 2, 3 i 4 do swojego
~/.bashrc
pliku.Pamiętaj, nie używaj
sudo
do edycji~/.bashrc
pliku!Po dodaniu wierszy do pliku uruchom następującą komendę, aby ponownie uruchomić bash lub „źródło” pliku .bashrc:
Powinieneś być teraz w stanie uruchomić komendę,
hello
a „Witaj świecie” powinno zostać wydrukowane w terminalu.Również:
Zamiast tego możesz edytować plik, aby to powiedzieć:
i nazwij plik
hello
i zapisz plik w/usr/local/bin
.Po wykonaniu wszystkich tych czynności uczyń plik wykonywalnym, uruchamiając następującą komendę:
Powinieneś być teraz w stanie uruchomić komendę,
hello
a „Witaj świecie” powinno zostać wydrukowane w terminalu.Wreszcie:
Trzecią opcją byłoby dodanie następującego wiersza do
~/.bashrc
pliku:Następnie źródłowy plik .bashrc za pomocą następującego polecenia:
źródło
GNU Bash jest powłoką używaną domyślnie w terminalach na Ubuntu. Jednak gdy skrypty są uruchamiane podczas uruchamiania systemu, używana jest myślnik, ponieważ jest to myślnik / bin / sh.
Nie zadziała ->
Będzie działać ->
Problem rozwiązany
źródło
Według twojego skryptu:
źródło