La séance de questions et réponses d’aujourd’hui nous est offerte par SuperUser, une sous-division de Stack Exchange, un groupe de sites Web de questions-réponses dirigé par la communauté.
La question
Lecteur superutilisateur PallavBakshi souhaite savoir pourquoi les utilisateurs utilisent la commande «echo» lors de l’installation de logiciels sous Linux:
I am new to the computing world. While installing ROS Indigo, the first step said that I should use the following code:
sudo sh -c ‘echo “deb https://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’
Why do people use the “echo” command along with “sh -c” in this context? I have seen the “echo” command used in other installation processes as well.
Links I Looked Through
What Exactly is the “sh” Command?
Ubuntu Install of ROS Indigo
Pourquoi les gens utilisent-ils la commande “echo” lors de l’installation de logiciels sous Linux?
La réponse
Fleet Command, contributeur de SuperUser, a la solution pour nous:
Ordinarily, the function of the “echo” command is to display a string (piece of text) on the console. But this time, a (greater than) > character is added after the echo command, redirecting its output to a text file located in /etc/apt/sources.list.d/ros-latest.list.
Basically, this whole command writes a piece of text to a text file. Now, here comes the tricky part:
The string written to the file may be different for each computer. The part, $(lsb_release -sc), is resolved (changed into something else) when the “echo” command runs.
You can open /etc/apt/sources.list.d/ros-latest.list in a text editor before and after the command to see the changes for yourself. Keep in mind that the file might not exist before using this command.
Avez-vous quelque chose à ajouter à l'explication? Sound off dans les commentaires. Voulez-vous lire plus de réponses d'autres utilisateurs de Stack Exchange doués en technologie? Découvrez le fil de discussion complet ici.