A sessão de perguntas e respostas de hoje nos é oferecida por cortesia do SuperUser, uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas conduzido pela comunidade.
A questão
Leitor SuperUser PallavBakshi quer saber porque as pessoas usam o comando “echo” ao instalar software no 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
Por que as pessoas usam o comando “echo” quando instalam software no Linux?
A resposta
Contribuidor do SuperUser O Comando da Frota tem a resposta para nós:
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.
Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.