首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bash开关中的算术表达式

bash开关中的算术表达式
EN

Stack Overflow用户
提问于 2018-04-29 12:16:12
回答 1查看 37关注 0票数 0

我希望这个脚本加载字符串参数,检查它的长度,如果它的长度是1,那么将1赋值给一个变量,否则给它赋值一个算术表达式。我的bash语法出了问题,无法让它工作。任何帮助都将不胜感激。这是我的尝试:

代码语言:javascript
复制
#!/bin/bash

stringArg=$1
let myVariable=1
case "${#stringArg}" in
 1) myVariable=1 ;;
 *) myVariable="${#stringArg}*2-2" ;;
esac

echo $myVariable

./test.sh 123运行这个输出3*2-2,但我希望它打印4

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-29 12:24:46

您只是将表达式赋值给变量,而不是赋值后的实际值。

您可以以各种方式计算表达式,如$(())bc等。

代码语言:javascript
复制
#!/bin/bash

stringArg=$1
let myVariable=1
case "${#stringArg}" in
 1) myVariable=1 ;;
 *) myVariable="${#stringArg}*2-2" ;;
esac

echo $(( $myVariable ))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50086462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档