青龙运行shell Exec format error 作者: 时间: 2021-07-24 分类: 默认分类 11 条评论 You need a shebang line if the executable file cannot be run natively by the kernel. The kernel can only run machine code in a specific format (ELF on most Unix variants), or sometimes other formats (e.g. on Linux you can register executable formats through binfmt_misc). If the executable file needs an interpreter then the kernel needs to know which interpreter to call. That's what the shebang line is for. If your script is in fish syntax, its first line must be `#!/usr/bin/env fish` (You can use the absolute path instead, but then you'll have to modify the script if you want to run it on a machine where the fish executable is in a different location, e.g. /usr/bin/fish vs /usr/local/bin/fish.) If your script is in sh syntax, use `#!/bin/sh` (All modern Unix systems have a POSIX sh at /bin/sh so you don't need env.) If your script is in bash syntax (which is sh plus some bash-specific extensions), use `#!/usr/bin/env bash` On Linux, in practice, #!/bin/bash will also work. All of this is independent of which shell you're calling the script from. All that matters is what language the script is written in. >https://unix.stackexchange.com/questions/491419/fish-shell-exec-format-error