我们有一个shell脚本,我们尝试以$>./shell.sh
运行。在运行这个时,我们得到一个关于“糟糕的解释器”的错误。在运行脚本时,它运行sh shell.sh
。我的问题是我们可以在IBM AIX中以./shell.sh
运行shell脚本。
我们有很多调用其他脚本的shell脚本。更改shell脚本以将其他shell脚本调用为sh other_shell_scripts.sh
是不可行的。
请注意我们使用bash shell作为默认shell
答案 0 :(得分:3)
如果您要使用./shell.sh
运行脚本,必须将shebang line作为第一行,例如#!/usr/bin/env bash
或#!/bin/sh
如果你有一个shebang行,检查它是否格式正确,并且你的文件不包含DOS换行符(\r\n
,又名CRLF
)。您可以使用dos2unix
来修复此类文件。