尝试启动Linux Bash脚本时未找到命令
我有一个Bash脚本,我已经使用了一段时间,名为launch.sh。此脚本启动一组进程,脚本如下所示:尝试启动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条生产线,但我想它找不到梅林 我刚
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’。顺便问一下:这是一个真实的文件还是一个符号链接?谢谢,我如何检查文件是否是一个符号链接文件?