为什么人们在 Linux 中安装软件时使用“echo”命令?

如果您是 Linux 新手,那么许多命令及其变体可能看起来有点混乱。以“echo”命令为例。为什么人们在安装软件时使用它?今天的 SuperUser Q&A 帖子有一个 Linux 新用户问题的答案。
今天的问答环节由 SuperUser 提供,这是 Stack Exchange 的一个分支,一个由社区驱动的问答网站分组。
问题
超级用户 PallavBakshi 想知道为什么人们在 Linux 中安装软件时使用“echo”命令:
我是计算机世界的新手。在安装 ROS Indigo 时,第一步说我应该使用以下代码:
- sudo sh -c 'echo “deb http://packages.ros.org/ros/ubuntu $ (lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest。列表'
为什么人们在这种情况下将“echo”命令与“sh -c”一起使用?我也看到了其他安装过程中使用的“echo”命令。
我浏览过的链接
“sh”命令到底是什么?
ROS Indigo 的 Ubuntu 安装
为什么人们在 Linux 中安装软件时使用“echo”命令?
答案
超级用户贡献者 Fleet Command 为我们提供了答案:
通常,“echo”命令的作用是在控制台上显示一个字符串(一段文本)。但这一次,在 echo 命令后添加了一个(大于)> 字符,将其输出重定向到位于 /etc/apt/sources.list.d/ros-latest.list 中的文本文件.
基本上,这整个命令将一段文本写入文本文件。现在,棘手的部分来了:
每台计算机写入文件的字符串可能不同。当“echo”命令运行时,$ (lsb_release -sc) 部分被解析(更改为其他内容)。
您可以在命令前后在文本编辑器中打开 /etc/apt/sources.list.d/ros-latest.list 以查看自己的更改。请记住,在使用此命令之前该文件可能不存在。
有什么要补充的吗?在评论中关闭。想从其他精通技术的 Stack Exchange 用户那里阅读更多答案吗?在此处查看完整的讨论主题。