GNU/Linux >> Belajar Linux >  >> Linux

Mengapa menggunakan gema sebelum menginstal perangkat lunak baru?

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.


Linux
  1. Ubah Font Di Perintah Gema?

  2. Perintah Linux ls - Daftar File

  3. echo:perintah tidak ditemukan

  1. Cara menggunakan Perintah Su di Linux

  2. Cara Menggunakan Perintah showmount untuk Membuat Daftar Saham di Server NFS

  3. Mengapa Mengatur Variabel Sebelum Perintah Legal Di Bash?

  1. Perintah gema Linux

  2. echo Contoh Perintah di Linux

  3. Mengapa sudo:perintah bundel tidak ditemukan?