【问题标题】:Getting (standard_in) 1: parse error with bc command获取(standard_in)1:使用 bc 命令解析错误
【发布时间】:2015-01-12 14:39:21
【问题描述】:

我正在获取 (standard_in) 1: parse error with below code。

#!/bin/sh
base=01C71C
mid=0
end=0
for mid in {0..15..1}
do
 for end in {0..15..4}
 do
     if (( mid > 9 ))
     then
        mid_hex=`echo "obase=16;ibase=10; $mid" | bc`
     else
        mid_hex=$mid
     fi
     end_hex=`echo "obase=16;ibase=10; $end" | bc`
     reg=$base$mid_hex$end_hex
     phymem32 $reg >> osd.txt
 done
done

请指导我哪里错了,以及可以在这里做出哪些替代方案以使其正常工作。 谢谢。

【问题讨论】:

  • 为我工作。然而{0..15..1} 是一个bash 结构,所以#!/bin/sh 可能是问题所在:mid='{0..15..1}'; echo "obase=16;ibase=10; $mid" | bc

标签: linux shell bc


【解决方案1】:

问题是这个shebang:

#!/bin/sh

由于您使用的是 BASH 4 特定功能,即{0..15..1} 等。您需要使用:

#!/bin/bash

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-06
    • 1970-01-01
    • 2019-11-05
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    相关资源
    最近更新 更多