Bash 脚本中没有这样的文件或目录
我对剧本有一些奇怪的问题。行Bash 脚本中没有这样的文件或目录,bash,file,permissions,Bash,File,Permissions,我对剧本有一些奇怪的问题。行exec$*哪个进程myfile作为参数 if [ $# -gt 0 ] then case $1 in -*) ;; *) exec $* ;; esac fi 抛出错误myfile:没有这样的文件或目录 确保该文件存在。我尝试sudo,我检查了烫发,我将所有者设置为root,但我一直有这个消息 试试看 exec "$@" 而不是 exec $* 正确地转义参数中的空格 例子 错误地输出c,以及 bash -c "bash -c '
exec$*
哪个进程myfile
作为参数
if [ $# -gt 0 ]
then
case $1 in
-*) ;;
*) exec $* ;;
esac
fi
抛出错误myfile:没有这样的文件或目录
确保该文件存在。我尝试sudo,我检查了烫发,我将所有者设置为root
,但我一直有这个消息 试试看
exec "$@"
而不是
exec $*
正确地转义参数中的空格
例子
错误地输出c
,以及
bash -c "bash -c 'echo \$1' \"\$@\"" a b "c d" e f
正确输出cd
尝试
exec "$@"
而不是
exec $*
正确地转义参数中的空格
例子
错误地输出c
,以及
bash -c "bash -c 'echo \$1' \"\$@\"" a b "c d" e f
正确的输出
cd
可能是myfile
在64位机器上时是32位体系结构的二进制可执行文件。尝试使用file myfile
和uname-a
。是的,我知道,如果这是对的,消息很奇怪。你如何运行脚本?我想你只是在传递我的文件?它在你的道路上吗?否则,您需要指定路径。如果它在同一个目录中,请使用/myfile
应该注意的是,sudo
一些您不完全理解的东西不是一个好主意,特别是如果它根本没有按预期工作。@RenaudPacalet当我调用file myfile
时,我得到ELF 32位LSB可执行文件,英特尔80386,版本1(SYSV),动态链接(使用共享库),对于GNU/Linux 2.6.18,BuildID[sha1]=0xc3ddbfd3a4e54b34d0cc0ca2e56880dcdfdd719b,未剥离
和uname-a
抛出Linux元映射-m3.16.0-0.bpo.4-amd64#1 SMP Debian 3.16.7-ckt11-1+deb8u3~bpo70+1(2015-08-08)GNU/Linux
我该如何处理?因为我正在远程机器上尝试这个代码。同样的代码在我的本地OSX
@Newben中运行得很好:所以,我是对的,您尝试在64位机器上运行32位二进制文件。它可以与本地OSX一起运行,因为本地OSX是32位的,或者安装了32位库。。。在64位远程计算机上安装32位库,使其也可以运行32位二进制文件,或者为64位目标重新编译应用程序。可能是myfile
是32位体系结构的二进制可执行文件,而您在64位机器上。尝试使用file myfile
和uname-a
。是的,我知道,如果这是对的,消息很奇怪。你如何运行脚本?我想你只是在传递我的文件?它在你的道路上吗?否则,您需要指定路径。如果它在同一个目录中,请使用/myfile
应该注意的是,sudo
一些您不完全理解的东西不是一个好主意,特别是如果它根本没有按预期工作。@RenaudPacalet当我调用file myfile
时,我得到ELF 32位LSB可执行文件,英特尔80386,版本1(SYSV),动态链接(使用共享库),对于GNU/Linux 2.6.18,BuildID[sha1]=0xc3ddbfd3a4e54b34d0cc0ca2e56880dcdfdd719b,未剥离
和uname-a
抛出Linux元映射-m3.16.0-0.bpo.4-amd64#1 SMP Debian 3.16.7-ckt11-1+deb8u3~bpo70+1(2015-08-08)GNU/Linux
我该如何处理?因为我正在远程机器上尝试这个代码。同样的代码在我的本地OSX
@Newben中运行得很好:所以,我是对的,您尝试在64位机器上运行32位二进制文件。它可以与本地OSX一起运行,因为本地OSX是32位的,或者安装了32位库。。。在64位远程设备上安装32位库,使其也可以运行32位二进制文件,或者为64位目标重新编译应用程序。