评论命令链的安全做法?

评论命令链的安全做法?

有没有安全的方法来记录一长串命令并为读者提供注释,并且不会对我的系统造成风险?

假设所有步骤都是正确且有意的,假设我有以下内容:

step 1
step 2
step 3
...
step 76
step 77
- this next step needs to move files to xyz so that dependency ufh will properly resolve
step 78
step 79
...
step 203
- multi-line comment which explains something really long and should be
- manually wrapped for legibility purposes.
- Oh yeah, and it is followed by a list:
- * list item 1
- * list item 2
step 204
...
step 326
- another comment but this time I contain sudo ls / for some unholy reason
step 327
...
step 435

我想从上到下复制它,然后右键单击将其粘贴到 PuTTY 会话中,以便命令按顺序执行,但不会执行注释中无意的内容。


根据评论和答案,我是否真正处于 bash shell 中似乎是值得怀疑的。

echo $o

产生“-bash”

答案1

这通常是一件不明智的事情。

如果您使用 Bash,就像标签所建议的那样,那么只要shopt interactive_comments已开启, 你可以使用实际评论#。默认情况下该功能已启用,但可能在您使用的 shell 中被禁用。您可以在顶部显式打开它:

shopt -s interactive_comments
command...
# a comment
more commands...

但是,如果您担心恶意的行动,你不应该将文本复制到终端中。恶意内容可能隐藏在你看不到的地方(和这是一个可以尝试的工作示例) - 不必在注释中。如果您确实有 435 个步骤,那么即使您确实看到它,它也可能会被隐藏起来,并且您永远不会注意到。


一个实际的 shell 脚本会更好(并且注释肯定会在那里工作),但同样,如果您担心它是恶意的,您需要在运行它之前非常仔细地检查。在任何情况下,复制并粘贴到终端中都是不可靠的(正如本网站上反复出现的一系列问题所示),您最好找到一个不依赖它的工作流程。

答案2

您可以使用命令替换安全地将注释添加到一行中间或多行中。这堆栈溢出答案应该向您展示如何安全地添加评论。

要离开你的示例,它看起来像这样:

step 1 `#1st comment` \
step 2 `#2nd comment` \
step 3 `#3rd comment` \
step 4 --some_options `#4th comment` --additional_options `#5th comment` --final_options `#6th comment`

您还可以参考这个答案这应该对你有帮助。有什么理由必须将其专门复制并粘贴到 PuTTY 中吗?一种解决方案是使用scp或其他某种方法将 shell 脚本文件传输到远程计算机,然后在那里执行脚本。

相关内容