Linux 新手,问个基础问题. 搭了个本地 IPV6 的 DDNS 服务,用 Crontab 定时执行. 目前出现问题,.sh 文件手动执行无任何问题,Crontab 执行持续报错.
把报错结果 LOG 输出,Cat 显示为:
57: read: Illegal option -n
查找代码结构.
第 57 行为 while read -n1 c
各位大大帮忙看看.这个问题怎么解决?搞了好久没搞定.
是需要把 Read 的环境变量导入么,read 的默认路径在哪,系统 Debian.?????
相关上下代码为:
current_ipv6=nslookup -query=AAAA $aliddnsipv6_name 2>&1
#echo $current_ipv6
current_ipv6=echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'
echo $current_ipv6
if [ "$?" -eq "0" ]
then
current_ipv6=echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'
echo $current_ipv6
if [ "$ipv6" = "$current_ipv6" ]
then
echo "skipping"
fi
else unset aliddnsipv6_record_id fi
timestamp=date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ"
urlencode() {
# urlencode <string>
out=""
while read -n1 c
do
case $c in
[a-zA-Z0-9._-]) out="$out$c" ;;
*) out="$outprintf '%%%02X' "'$c"
" ;;
esac
done
echo -n $out
}</string>
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.