Mencoba menjalankan beberapa fungsi bash, tetapi tetap menemukan kesalahan sintaks: "(" tidak terduga. Saya sudah mencoba menghapus tanda kurung, tanda kurung dll dll ... sepertinya tidak ada yang berhasil.
$ bash --version
GNU bash, version 4.3.46(1) release
#!/bin/bash
function hello () {
echo "Hello world"
}
Jawaban:
Jika Anda menjalankan skrip dengan
sh hello.sh
, shell penafsiran tidak akan menjadi yang disebutkan di baris shebang, tetapi/bin/sh
akan digunakan. Dalam hal Debian dan Ubuntu secara default, ini akan menjadidash
.Jadi untuk menjalankan skrip Anda dengan benar
bash
, gunakan salah satu dari yang berikut ini.atau
Atau Anda juga dapat menetapkan
bash
sebagai/bin/sh
.sumber
Pertama:
Kesalahan sintaksis adalah karena (). Hapus () dari file seperti ini:
atau Anda bisa menjalankan perintah berikut untuk mengedit file untuk Anda:
Anda sekarang dapat menjalankan file dengan hasil yang diinginkan.
Atau :
Anda dapat menambahkan baris 2, 3, dan 4 ke
~/.bashrc
file Anda .Ingat, jangan gunakan
sudo
untuk mengedit~/.bashrc
file Anda !Setelah Anda menambahkan baris ke file, jalankan perintah berikut untuk memulai ulang bash atau "sumber" file .bashrc Anda:
Anda sekarang harus dapat menjalankan perintah
hello
dan "Hello world" harus mencetak di terminal.Juga:
Anda dapat mengedit file untuk mengatakan ini sebagai gantinya:
dan beri nama file tersebut
hello
dan simpan file tersebut ke/usr/local/bin
.Setelah melakukan semua itu, buat file dapat dieksekusi dengan menjalankan perintah berikut:
Anda sekarang harus dapat menjalankan perintah
hello
dan "Hello world" harus mencetak di terminal.Akhirnya:
Opsi ketiga adalah menambahkan baris berikut ke
~/.bashrc
file Anda :Kemudian, sumber file .bashrc Anda menggunakan perintah berikut:
sumber
GNU Bash adalah shell yang digunakan secara default di terminal di Ubuntu. Namun ketika skrip dieksekusi pada boot sistem maka dash digunakan, karena itu adalah dash yang adalah / bin / sh.
Tidak akan bekerja ->
Akan bekerja ->
Masalah terpecahkan
sumber
Menurut Skrip Anda:
sumber