我正在尝试在 Ubuntu 12.04 中运行 CodeSourcery arm-2011.03.42 BASH 脚本。脚本顶部是以下内容:
#! /usr/bin/env bash
但是,当我执行它时,我收到以下错误:
第 140 行:grep:找不到命令
第 140 行:sed:找不到命令
我可以从命令行运行 grep 和 sed,但不能在脚本中运行。
这是第 140 行的样子
env_var_list=$(export | \
grep '^declare -x ' | \
sed -e 's/^declare -x //' -e 's/=.*//')
如果我将第一行更改为
#!/bin/sh
我收到以下错误:
第 51 行:语法错误:“(”意外(预期为“}”)
这是第 51 行的样子
check_pipe() {
local -a status=("${PIPESTATUS[@]}") #<-- Line 51
local limit=$1
local ix
#<-- Line 51
实际上并没有出现在 shell 脚本中。为了清楚起见,我只是将其添加到这篇文章中。
我尝试了 dos2unix 和其他一些东西,但我就是赢不了。非常感谢您的帮助。