Sementara itu adalah perkiraan pertama yang adil ketika seseorang mulai mempelajari dasar-dasar penggunaan shell, pada level "di sini adalah bagaimana seseorang menjalankan program" dan "di sini adalah bagaimana seseorang menjalankan banyak program satu demi satu pada satu baris" , itu sebenarnya tidak benar.
Semakin sulit dipahami oleh pemula tetapi penjelasan yang lebih tepat adalah bahwa bahasa shell adalah bahasa komputer . Ini memiliki sintaks . Sintaks itu terdiri dari berbagai elemen leksikal termasuk (antara lain) baris baru, operator, kata-kata, dan kata-kata yang dicadangkan.
if
, then
, else
, Dan fi
semua kata-kata reserved . Mereka memiliki makna khusus ketika mengurai input yang diberikan seseorang ke shell, sesuai dengan tata bahasanya . Begitu pula ;
dengan operator pemisah .
Input dalam bahasa shell dengan demikian, diambil secara keseluruhan, program komputer yang ditafsirkan oleh program lain, seorang juru bahasa , shell. Bagian gramatikal individualnya bukan program. Bahasa shell adalah cara untuk menentukan program (lainnya) untuk dijalankan oleh shell.
[
bukan elemen leksikal khusus dalam tata bahasa shell seperti operator. Ini adalah kata yang biasa , yang menamai satu nama program tersebut [
. Banyak shell memiliki versi built-in dari program ini, digabungkan ke dalam kode program shell itu sendiri, tetapi Anda juga dapat menemukan program eksternal dengan nama ini di suatu tempat seperti /bin/[
atau /usr/bin/[
, yang mana program selain shell dapat meminta. Sama, ]
bukan elemen leksikal shell khusus baik. Itu kata biasa, yang menjadi argumen untuk [
program ini. The [
Program mensyaratkan bahwa argumen akhir, ketika dijalankan, menjadi ]
, yang hasil untuk kemudian mengabaikan.
Program serupa lainnya yang disebutkan dalam pertanyaan Anda adalah echo
. Sekali lagi, sebagian besar shell memiliki versi bawaan dari program ini. Tetapi sekali lagi ada juga versi eksternal dari program, di suatu tempat seperti /bin/echo
atau /usr/bin/echo
, untuk program selain memohon kerang.
Program ketiga yang disebutkan dalam pertanyaan Anda adalah ls
. Shell umumnya tidak memiliki versi built-in dari program ini, dan ini adalah program eksternal, dapat ditemukan di suatu tempat seperti /bin/ls
atau /usr/bin/ls
.
Untuk shell Bourne Again, Anda dapat membaca lebih lanjut tentang ini di Fitur Shell Dasar dari GNU Bourne Again dokumentasi info shell. Kerang lain memiliki tata bahasa yang berbeda, secara alami. The Spesifikasi Single Unix menggambarkan sintaks bahwa semua kerang POSIX-konforman (dalam mode POSIX-konforman mereka) seharusnya mematuhi untuk.
Bacaan lebih lanjut
- " Shell Grammar ". Bahasa Perintah Shell . Spesifikasi Spesifikasi Dasar 7. Grup Terbuka. IEEE 1003.1-2008. ISBN 1937218812.
test
. Utilitas . Spesifikasi Spesifikasi Dasar 7. Grup Terbuka. IEEE 1003.1-2008. ISBN 1937218812.
- " Shell Grammar ". Manual Z Shell . versi 5.3.1. 2017