[英]Bash Script reading Variables from Source file showing No such File or Directory Error
我有一个非常简单的bash脚本,用于重置IpTables规则。 它从另一个包含bash变量的“ Config-File”中读取配置参数。 因此,我使用关键字“源”。
我正在运行带有稳定软件包的debian服务器。 Bash在版本中运行
GNU bash版本4.3.30(1)-发行版(x86_64-pc-linux-gnu)
当我在debian-Server上执行脚本时,输出将输出以下文本:
: No such file or directoryptables
: No such file or directoryptables
: No such file or directoryptables
: No such file or directoryptables
: No such file or directoryptables
: No such file or directoryptables
: No such file or directoryp6tables
: No such file or directoryp6tables
: No such file or directoryp6tables
: No such file or directoryp6tables
: No such file or directoryp6tables
: No such file or directoryp6tables
这里是Bash脚本的内容:
#!/bin/bash
CONFIG=../config/easywall.cfg
if [ -f $CONFIG ];
then
source $CONFIG
fi
eval $IPTABLES -F
eval $IPTABLES -X
eval $IPTABLES -t nat -F
eval $IPTABLES -t nat -X
eval $IPTABLES -t mangle -F
eval $IPTABLES -t mangle -X
eval $IP6TABLES -F
eval $IP6TABLES -X
eval $IP6TABLES -t nat -F
eval $IP6TABLES -t nat -X
eval $IP6TABLES -t mangle -F
eval $IP6TABLES -t mangle -X
exit 0
以及配置文件的内容:
!/bin/bash
IPTABLES=/sbin/iptables
IP6TABLES=/sbin/ip6tables
有谁知道我为什么会收到这个错误?
詹斯的评论对我有用。
首先我用
od -c filename
显示bash脚本和配置文件的内容。 bash脚本的内容很好,但是配置文件的内容显示了很多
\r\n
在里面。 我将文件转换为
dos2unix filename
错误消失了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.