尝试在linux上运行shell脚本时“无法执行二进制文件”

前端之家收集整理的这篇文章主要介绍了尝试在linux上运行shell脚本时“无法执行二进制文件”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我是linux和shell脚本编程的新手.
我试图使用以下命令从Linux上的安全shell(ssh)运行一个shellcript:

chmod +x path/to/mynewshell.sh

sh path/to/mynewshell.sh

我收到此错误

path/to/mynewshell.sh: path/to/mynewshell.sh: cannot execute binary file.

尝试使用此命令:

bash path/to/mynewshell.sh

我犯了同样的错误.

尝试使用此命令:su – myusername sh path / to / mynewshell.sh
它要求我的密码并给我这个错误:没有这样的文件或目录.

1. cat -v path / to / mynewshell.sh的结果是:
^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ Rscript“$dir”/diver_script.R
DONE

2.当我尝试’less path / to / mynewshell.sh’时,我在终端上得到了这个:

#!/bin/bash/Rscript^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
for dir in /path/to/* ; do 
^@^@^@^@^@^@^@^@Rscript "$dir"/myRscript.R
done

3.当我运行文件路径/到/ mynewshell.sh时:我得到了这个“Bourne-Again shell脚本文本可执行文件

请提供有关如何尝试执行shellscript的任何建议.

最佳答案
chmod -x从文件删除执行权限.做这个:

chmod +x path/to/mynewshell.sh

并运行它

/path/to/mynewshell.sh

正如错误报告所说,你的脚本实际上不是一个脚本,它是一个二进制文件.

原文链接:https://www.f2er.com/linux/440339.html

猜你在找的Linux相关文章