无法打开“”进行读取:没有这样的文件或目录

无法打开“”进行读取:没有这样的文件或目录

我尝试在 RH6 上运行 .sh 文件并出现此错误...

cannot open '' for reading: No such file or directory

我正在运行的脚本在内部引用位于同一目录中的其他脚本。我可以使用 来查看它们ls -la

注意:此脚本在 RH4 上运行良好。我获得了一台全新的 RH6 机器,并尝试在其上运行我的脚本。

我的abc.sh脚本如下所述

. fox_comm_server_details.sh
. fox_comm_topic_names.sh
. fox_comm_sh_tools.sh

引用其他脚本(.sh)文件。

当我运行我的 abc.sh (带有./abc.sh)时它说

fox_comm_server_details.sh: cannot open [No such file or directory]

我确认目录中存在所需脚本,并且我拥有这些脚本的权限。如果我abc.sh按如下方式更新...

. ./fox_comm_server_details.sh
. ./fox_comm_topic_names.sh
. ./fox_comm_sh_tools.sh

这次它不是抱怨文件丢失,而是抱怨下面提到的一些不同的错误......

read_fox_comm_servers_list[134]: read_fox_comm_servers_list_defaults[37]: local: not found [No such file or directory]

read_fox_comm_servers_list并且read_fox_comm_servers_list_defaults是定义fox_comm_sh_tools.sh如下的函数……

function read_fox_comm_servers_list
{
        read_fox_comm_servers_list_defaults
        read_fox_comm_servers_list_overrides
}

function read_fox_comm_servers_list_defaults
{
        local tempfile=/tmp/read_fox_comm_servers_list_defaults.$$
}

并出现上述错误。

答案1

瞎猜:请点击编辑你的问题在此链接上因为这确实很难理解。

通常,脚本(或子脚本)中的某个地方似乎没有使用文件名设置变量。
您可以''在错误消息中注意到其中没有名称。

无法打开''进行读取:没有这样的文件或目录

您可以搜索激活错误的位置在 shell 中调试

set -x           # to activate debugging  
./myscript.sh    # here your script invocation  
set +x           # to stop debugging 

相关内容