我正在学习 Linux 教程,但我是 Windows 用户。我想知道如何在 Ubuntu 终端中执行代码?
以下是练习内容:
该目录现在将有 4 个密钥 - ZSK 和 KSK 的私钥/公钥对。我们必须将包含 DNSKEY 记录的公钥添加到区域文件。以下 for 循环将执行此操作。
for key in `ls Kexample.com*.key`
do
echo "\$INCLUDE $key">> example.com.zone
done
有没有办法从终端执行此代码?
编辑:按照@Karl的回答,我被拒绝了权限。我sudo
在普通命令中使用mv
,但如何在多行和命令中处理这个问题?这是我的代码清单:
x@mypc:/var/cache/bind$ for key in `ls Kcom*.key`
> do
> echo "\$INCLUDE $key" >> com.zone
> done
bash: com.zone: Permission denied
bash: com.zone: Permission denied
答案1
您可以在 bash 提示符(命令行输入,即 CLI)下输入该命令,并在每行后按 。Bash 将跟踪该命令并将您发送到下一行,在下一行中,它将在 > 字符(而不是美元符号或磅号)后等待您的输入。
for key in $(ls Kexample.com*.key) <ENTER>
> do <ENTER>
> echo "\$INCLUDE $key">> example.com.zone <ENTER>
> done <ENTER>
在最后一行按下回车键后,您将获得该命令可用的输出。现在,进行一些解释:
- key 是将被填充的变量。这就是为什么后续使用时在其前面放置一个 $ 符号 ($key)
- -character的使用
\
是对接下来的内容进行转义,如 \$,因此 $INCLUDE 不会被解释为变量。 >>
表示附加到文件末尾,例如.come.zone<ENTER>
是我告诉你按回车键的方式。
希望这些能帮到你。现在如果你想把它放在一个文件中并作为命令执行,还有很多事情需要考虑,比如你的 $PATH 变量等等。
祝你在这个新的学习经历中好运。我已经使用 Linux 作为我的主要桌面操作系统超过 22 年了。喜欢它!