我请求帮助,如果有人可以帮助我解决 shellscript 问题,我将不胜感激。以下代码是我为区域文件签名的 shellscript。
#!/bin/bash
hash=$(head -c 1000 /dev/random | sha1sum | cut -b 1-16)
command=$(dnssec-signzone -3 $hash –N 'KEEP' –o "owolf.dnssec.local" –t /etc/bind/zones/db.owolf.dnssec.local)
sleep 10
service bind9 reload
当我手动启动脚本时,它给了我两个错误,我不知道为什么。
第一个错误: !/bin/bash:没有这样的文件或目录
我检查了 bash 是否存在于目录 /bin 中。
第二个错误: -N 无法打开文件。
引用似乎是一个错误,但我已经尝试过“,”和“他们都没有工作。
我还尝试了什么? 我还尝试并确保将行尾转换为 unix 样式,并且文件中没有其他放错位置的符号。
SOLVED 文件好像坏了,新建了一个文件,手动填了代码。还修复了一些错误的引号。
#!/bin/bash
hash=$(head -c 1000 /dev/random | sha1sum | cut -b 1-16)
dnssec-signzone -3 "$hash" –N "KEEP" –o "owolf.dnssec.local" –t /etc/bind/zones/db.owolf.dnssec.local
sleep 10
service bind9 reload