我是linux和shell脚本编程的新手.我试图使用以下命令从Linux上的安全shell(ssh)运行一个shellcript:
chmod +x path/to/mynewshell.sh
sh path/to/mynewshell.sh
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
path/to/mynewshell.sh: path/to/mynewshell.sh: cannot execute binary file.
Run Code Online (Sandbox Code Playgroud)
尝试使用此命令:
bash path/to/mynewshell.sh
Run Code Online (Sandbox Code Playgroud)
我犯了同样的错误.
试过这个命令:su - myusername sh path/to/mynewshell.sh
它要求我的密码并给我这个错误:no such file or directory.
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
Run Code Online (Sandbox Code Playgroud)
3.当我运行文件路径/到/ mynewshell.sh时:我得到了这个"Bourne-Again shell脚本文本可执行文件"
请提供有关如何尝试执行shellscript的任何建议.
Jah*_*hid 10
chmod -x从文件中删除执行权限.做这个:
chmod +x path/to/mynewshell.sh
Run Code Online (Sandbox Code Playgroud)
并运行它
/path/to/mynewshell.sh
Run Code Online (Sandbox Code Playgroud)
正如错误报告所说,你的脚本实际上不是一个脚本,它是一个二进制文件.