Biasanya fungsi dari echo
perintah untuk menampilkan string (sepotong teks) di konsol. Tapi kali ini, >
karakter ditambahkan setelah echo
perintah, mengarahkan keluarannya ke file teks, /etc/apt/sources.list.d/ros-latest.list
.
Jadi pada dasarnya, seluruh perintah ini menulis sepotong teks ke file teks. Sekarang, inilah bagian yang sulit:
String yang ditulis ke file mungkin berbeda untuk setiap komputer. Bagian $(lsb_release -sc)
diselesaikan (diubah menjadi sesuatu yang lain) ketika echo
perintah dijalankan.
Anda dapat membuka /etc/apt/sources.list.d/ros-latest.list
di editor teks sebelum dan sesudah perintah untuk melihat sendiri perubahannya. (File mungkin tidak ada sebelum perintah ini.)
Manajemen Paket dan Repositori Perangkat Lunak
Distribusi Linux berbasis Debian bergantung pada repositori (database paket instalasi aplikasi dan paket pemutakhiran) untuk menjaga pembaruan sistem operasi dan juga untuk mengambil dan menginstal paket perangkat lunak baru dengan mudah. Lokasi repositori ini disimpan di /etc/apt/sources.list
, namun sumber tambahan, biasanya unik untuk aplikasi tertentu dapat disimpan di /etc/apt/sources.list.d
direktori.
Ketika indeks paket memperbarui perintah apt-get update
dijalankan, sistem operasi Anda memeriksa dengan repositori paket ini untuk paket yang tersedia dan mendaftarkan perangkat lunak yang tersedia sebagai tersedia untuk sistem operasi Anda yang dapat Anda instal menggunakan apt-get install <package>
tradisional memerintah.
Contoh dari salah satu sumber perangkat lunak ini adalah:
deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ trusty main restricted
Penting bagi sumber-sumber ini untuk mereferensikan versi tertentu dari distribusi linux. Contohnya adalah dapat dipercaya yang merupakan nama kode untuk Ubuntu 14.04. Anda dapat menanyakan OS Anda (berbasis debian) untuk detail lengkap dengan lsb_release -a
atau lsb_release -sc
yang artinya pendek dan nama kode .
Dalam pertanyaan Anda, bagian $(lsb_release -sc)
ditafsirkan dan hasil dari sistem operasi Anda dicetak ke dalam file sumber khusus ros-latest.list yang akan dibuat oleh perintah saat dieksekusi.
Penerjemah bahasa perintah
sh
perintah adalah bourne shell. Ini adalah satu, di antara beberapa cangkang tetapi dianggap sebagai standar lama dan umumnya yang Anda yakini ada. Juga umum untuk melihat bash
di banyak skrip shell. Deklarasi itu menentukan shell yang akan digunakan karena shell yang berbeda menggunakan sintaks yang berbeda.
Mengenai -c
bendera, mengutip man bash
:
Jika opsi -c ada, maka perintah dibaca dari string. Jika ada argumen setelah string, argumen tersebut ditetapkan ke parameter posisional, dimulai dengan $0.
Semua yang ada di dalam ''
dibaca sebagai string, Anda tidak perlu memikirkan cara keluar dari berbagai tanda kutip atau khawatir tentang shell yang menafsirkan sesuatu dengan cara yang salah.
tl;dr
Perintah mencetak deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main
ke file sumber khusus, menggantikan $(lsb_release -sc)
dengan nilai interpretasi.