Jawaban:
$prompt: /path/to/scriptdan tekan enter. Perhatikan bahwa Anda perlu memastikan skrip memiliki izin eksekusi.
/path/to direktori, misalnya dengan cd /path/toperintah, Anda dapat masuk ./scriptuntuk menjalankan skrip Anda. Jangan lupa, dalam hal ini './' sebelum 'skrip'
Cara lain untuk mengeksekusinya (kali ini tanpa mengatur izin eksekusi):
bash /path/to/scriptname
cd ke direktori yang berisi script, atau taruh di folder bin yang ada di $ PATH Anda
lalu ketik
./scriptname.sh
jika dalam direktori yang sama atau
scriptname.sh
jika ada di folder bin.
./scriptname.shbekerja untuk saya tetapi scriptname.shmemberi scriptname.sh: command not found. -rwxr-xr-xadalah izinnya.
cdmana saja sama sekali melakukan kesalahpahaman pemula umum lainnya. Kecuali skrip secara internal memiliki ketergantungan yang memerlukannya untuk dijalankan di direktori tertentu (seperti, perlu membaca file data yang skripnya tidak memberikan opsi untuk ditunjukkan) Anda tidak perlu ke cdmana pun untuk menjalankannya, dan sangat sering tidak mau.
Anda bisa melakukan:
sh scriptname.sh
shmerupakan symlink ke bash, atau jika skrip tidak menggunakan konstruksi khusus Bash. Dalam kasus sebelumnya, menggunakan bashalih-alih shmerupakan satu-satunya solusi portabel yang benar; dalam kasus terakhir, ini bukan jawaban yang benar untuk pertanyaan khusus ini, karena OP menanyakan saran untuk skrip Bash secara khusus. Mengabaikan jawaban yang salah adalah tidak bertanggung jawab; pengguna yang gagal memahami perbedaannya sering kali memposting di sini, dan perlu diperlihatkan mengapa jawaban "berhasil untuk saya" ini tidak berhasil untuk mereka.
Pertama Anda harus membuatnya executable menggunakan: chmod +x name_of_your_file_script.
Setelah Anda membuatnya dapat dieksekusi, Anda dapat menjalankannya menggunakan ./same_name_of_your_file_script
Ubah direktori Anda ke tempat skrip berada dengan menggunakan perintah cd
Lalu ketik
bash program-name.sh
cdkemana - mana; Anda dapat menentukan nama jalur kompleks yang sewenang-wenang sebagai argumen untuk bash; memang, program apa pun yang menggunakan argumen nama file bekerja dengan cara ini (atau yang mengerikan, rusak total).
Ini adalah utas lama, tetapi saya kebetulan menemukannya dan saya terkejut belum ada yang memberikan jawaban lengkap. Jadi begini ...
T: Bagaimana saya menjalankan ini di Terminal?
Kebingungan dan Konflik:
sudomelakukan semua ini. Perintah ini disediakan untuk menjalankan perintah sebagai pengguna lain atau pengguna 'root' (administrator). Posting yang bagus di sini .(Seseorang yang baru belajar bagaimana mengeksekusi skrip tidak boleh menggunakan perintah ini kecuali ada kebutuhan nyata, seperti menginstal program baru. Tempat yang baik untuk meletakkan skrip Anda ada di folder ~ / bin Anda. Anda bisa sampai di sana dengan mengetik cd ~/binatau cd $HOME/bindari prompt terminal. Anda akan memiliki izin penuh di folder itu.)
Untuk "menjalankan skrip ini" dari terminal pada sistem tipe Unix / Linux, Anda harus melakukan tiga hal:
Beri tahu sistem lokasi skrip. (Pilih salah satu)
/path/to/script.sh). Anda dapat memverifikasi jalur lengkap dengan mengetik pwdatau echo $PWDdi terminal../untuk jalur (mis ./script.sh.). Mudah.PATHdan ketikkan saja namanya (mis script.sh.). Anda dapat memverifikasi sistem PATHdengan mengetik echo $PATHatau echo -e ${PATH//:/\\n}jika Anda ingin daftar yang lebih rapi.Beri tahu sistem bahwa skrip memiliki izin untuk dijalankan. (Pilih salah satu)
chmod +x /path/to/script.shdi terminal.chmod 755 /path/to/script.shjika Anda lebih suka angka. Ada diskusi hebat dengan bagan keren di sini .Beri tahu sistem jenis skripnya. (Pilih salah satu)
BASH /path/to/script.shatau PHP /path/to/script.php) Jika skrip memiliki ekstensi, seperti .php atau .py, itu adalah bagian dari nama skrip dan Anda harus memasukkannya.#!/bin/bash) dalam contoh Anda. Jika Anda memilikinya sebagai baris pertama skrip Anda, sistem akan menggunakan program itu untuk mengeksekusi skrip. Tidak perlu mengetik program atau menggunakan ekstensi.PATHdengan menggunakan #!/usr/bin/envdiikuti dengan nama program (misalnya #!/usr/bin/env bashatau #!/usr/bin/env python3). Ada pro dan kontra yang dibahas secara menyeluruh di sini .script.shdan script.phpmerupakan nama file literal dari skrip ini, dan bahwa jika Anda meletakkan ekstensi di nama file, Anda perlu memasukkannya saat Anda menjalankan skrip (dan sebaliknya; jika skrip tidak ' t memiliki ekstensi, jangan letakkan satu). Ini tidak seperti misalnya DOS di mana Anda dapat menghilangkan .batatau .exedari nama file, dan file perlu memiliki ekstensi dari kumpulan kecil agar dianggap dapat dieksekusi.
Jika Anda berada di direktori atau folder tempat file skrip tersedia, cukup ubah izin file dalam mode yang dapat dieksekusi dengan melakukan
chmod +x your_filename.sh
Setelah itu Anda akan menjalankan script dengan menggunakan perintah berikut.
$ sudo ./your_filename.sh
Di atas "." mewakili direktori saat ini. Catatan! Jika Anda tidak berada di direktori tempat file skrip bash berada, maka Anda mengubah direktori tempat file tersebut berada dengan menggunakan
cd Directory_name/write the complete path
perintah. Jika tidak, skrip Anda tidak dapat dijalankan.
sudoadalah salah dan berpotensi sangat salah jika Anda menggunakannya pada skrip yang tidak tepercaya yang menyalahgunakan kekuatan yang Anda berikan secara tidak perlu.
cdsuatu tempat sulit dimengerti, tapi mungkin juga salah.
chmod +x scriptnamedan kemudian./scriptname.