Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试启动Linux Bash脚本时未找到命令_Linux_Bash - Fatal编程技术网

尝试启动Linux Bash脚本时未找到命令

尝试启动Linux Bash脚本时未找到命令,linux,bash,Linux,Bash,我有一个Bash脚本,我已经使用了一段时间,名为launch.sh。此脚本启动一组进程,脚本如下所示: for ch in job_lists/*; do merlin mkt -log 30 -rollList $ch > "output_$(basename $ch)" & done 该脚本从job_列表中获取一组6个作业,然后执行第2行,其中调用了另一个脚本merlin。启动脚本时,控制台会返回以下内容: 我看它能找到6份工作,因此有6条生产线,但我想它找不到梅林 我刚

我有一个Bash脚本,我已经使用了一段时间,名为launch.sh。此脚本启动一组进程,脚本如下所示:

for ch in job_lists/*; do
  merlin mkt -log 30 -rollList $ch > "output_$(basename $ch)" &
done
该脚本从job_列表中获取一组6个作业,然后执行第2行,其中调用了另一个脚本merlin。启动脚本时,控制台会返回以下内容:

我看它能找到6份工作,因此有6条生产线,但我想它找不到梅林

我刚刚将我的环境移到一台新的笔记本电脑上,并复制了我所有的脚本。merlin脚本就在那里,我尝试了chmod+x launch.sh和chmod+x merlin.sh,但没有成功。我甚至尝试添加/bin/bash位于脚本顶部,但未成功

梅林位于:

我已经检查了我的路径,请参见下文,我可能遗漏了一些内容,但看起来merlin home/scoleman/user/bin的路径已经存在


不带扩展运行它可能会工作。

不带扩展运行它可能会工作。

您必须指定脚本的路径

试试这个:

for ch in job_lists/*; do
    ./merlin.sh mkt -log 30 -rollList $ch > "output_$(basename $ch)" &
done

您必须指定脚本的路径

试试这个:

for ch in job_lists/*; do
    ./merlin.sh mkt -log 30 -rollList $ch > "output_$(basename $ch)" &
done

你在做哪一件事时看到了什么


如果得到肯定的结果,请将merlin替换为$which merlin。如果没有,请使用另一种方法找到它的位置并在脚本中使用它。

当您使用$which merlin时,您看到了什么


如果得到肯定的结果,请将merlin替换为$which merlin。如果没有,请使用另一种方法查找其位置并在脚本中使用。

这意味着您的merlin.sh脚本不在执行用户路径中。将脚本添加到路径已指向的位置,将脚本所在的目录添加到路径,或者从launch.sh脚本中指定脚本的完整路径。

这意味着merlin.sh脚本不在执行用户路径中。将脚本添加到路径已指向的位置,将脚本所在的目录添加到路径,或者从launch.sh脚本中指定脚本的完整路径

确保merlin具有执行权限,如果没有设置

chmod+x梅林

确保merlin脚本与launch.sh位于同一位置,如果没有提供merlin命令的正确路径

或者将merlin位置添加到PATH环境变量中

export PATH=$PATH:<PATH_TO_MERLIN>
确保merlin具有执行权限,如果没有设置

chmod+x梅林

确保merlin脚本与launch.sh位于同一位置,如果没有提供merlin命令的正确路径

或者将merlin位置添加到PATH环境变量中

export PATH=$PATH:<PATH_TO_MERLIN>

梅林在哪里?可能是个愚蠢的问题,但你检查过它是否在你的$PATH中吗?merlin!=梅林,梅林在哪里?可能是个愚蠢的问题,但你检查过它是否在你的$PATH中吗?merlin!=merlin.shI get:/usr/bin/哪个:在/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/stacey/.local/bin:/home/stacey/bin中没有merlin merlin merlin在哪里?find/-name merlin 2>/dev/null感谢Dominique merlin位于/home/user/scoleman/bin/strats/merlin我将路径添加到$path,但我仍然得到相同的问题命令。在这种情况下,只需将命令中的merlin替换为完整路径‘/home/user/scoleman/bin/strats/merlin’。顺便问一下:这是一个真实的文件还是一个符号链接?谢谢,我如何检查该文件是否是一个符号链接文件?我得到:/usr/bin/其中:在/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/stacey/.local/bin:/home/stacey/bin中没有merlin,merlin在哪里?find/-name merlin 2>/dev/null感谢Dominique merlin位于/home/user/scoleman/bin/strats/merlin我将路径添加到$path,但我仍然得到相同的问题命令。在这种情况下,只需将命令中的merlin替换为完整路径‘/home/user/scoleman/bin/strats/merlin’。顺便问一下:这是一个真实的文件还是一个符号链接?谢谢,我如何检查文件是否是一个符号链接文件?