【问题标题】:* operator, shell script* 运算符,shell 脚本
【发布时间】:2014-05-25 13:39:37
【问题描述】:

我遇到了 * 运算符的问题。 我尝试编写一个脚本,它需要 3 个参数,前两个是数字(任何类型),第三个是运算符,然后打印出表达式的结果。 除了 * 运算符外,一切正常。 我有错误 "(standard_in) 1: 语法错误"

这是我的代码。

if [[ $3 == / &&  $2 == 0 ]]
then
    echo "divide by 0"
    exit 1
fi
result=$(echo "$1$3$2"|bc -l)
echo "result: $result"

我打印'$3'并得到父目录的列表文件,所以脚本理解'*'是列表文件。

那么,我能解决这个问题吗? 谢谢,

【问题讨论】:

    标签: shell bc


    【解决方案1】:

    您可以使用 ./myscript '*' 将星号作为字符串传递 - 在这种情况下,它不会被您的 shell 扩展。

    【讨论】:

    • 你说得对……我的错。我删除了答案的括号。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-03-02
    • 2018-10-25
    • 2023-01-25
    • 1970-01-01
    • 2019-12-16
    • 2012-09-09
    • 2013-07-16
    • 1970-01-01
    相关资源
    最近更新 更多