0

我请求帮助,如果有人可以帮助我解决 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
4

1 回答 1

0

文件好像坏了,新建了一个文件,手动填了代码。还修复了一些错误的引号。

#!/bin/bash
cd /var/cache/bind/ #Key Material is there
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

– lt_katana

于 2016-03-08T10:30:07.243 回答