gpt4 book ai didi

linux - Bash 脚本从源文件读取变量显示没有这样的文件或目录错误

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:25 25 4
gpt4 key购买 nike

我有一个非常简单的 bash 脚本来重置我的 IpTables 规则。它从另一个包含 bash 变量的“Config-File”读取配置参数。因此我使用关键字“来源”。

我正在运行带有稳定包的 debian 服务器。Bash 在 Version 中运行

GNU bash, version 4.3.30(1)-release (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

有人知道为什么我会收到此错误吗?

最佳答案

Jens 的评论对我有用。

我先用

od -c filename

显示 bash 脚本和配置文件的内容。 bash脚本的内容没问题,但是config文件的内容显示了很多

\r\n

在里面。我用

转换了文件
dos2unix filename

错误消失了。

关于linux - Bash 脚本从源文件读取变量显示没有这样的文件或目录错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43466067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com