在linux里 如何将 date +'%j' 赋值给a 在对a进行四则运算?

在linux里 如何将 date +'%j' 赋值给a 在对a进行四则运算?,第1张

题主你好,

你这个问题其实涉及的是linux中的两个概念: 一个是"将命令的输出结果赋值给变量", 另一个是"linux如何进行四则运算".

-----将命令的输出结果赋值给变量-----

linux下可以使用:  变量名=`语句`语句将"语句"的输出结果,赋值给"变量名", 见例子:

*.需要注意的是将语句包围起来的是反引号,即键盘左上角Esc下面那个键.

-----linux如何进行四则运算-----

linux下, 四则运算的语句是: $((表达式)), 见例子:

*.还有一点需要注意的是,linux下的变量赋值时,等号两边都不能有空格.

-----

有了上面的知识作铺垫,题主的问题也有好解决了:

=====

希望可以帮到题主, 欢迎追问.

原来我�‹.shell写的计算器:[root@liuxiting testdir]# cat calculator.sh #!/bin/bashecho "usage: 1+3 <Enter>,q <Enter>is quit"while [ 1 ]doread -p "->>" str 1>>/dev/nulla=`echo $str |awk -F '+|-|*|/' '{print $1}'`if [ $a == q ]thenbreakfib=`echo $str |awk -F '+|-|*|/' '{print $2}'`o=`echo $str |grep -o "[[:punct:]]" | grep -v "\."`case $o in+) awk 'BEGIN{printf " =%.2f\n",'$a'+'$b'}'-) awk 'BEGIN{printf " =%.2f\n",'$a'-'$b'}'\*) awk 'BEGIN{printf " =%.2f\n",'$a'*'$b'}'/)if [ $b -eq 0 ]then echo 0 Can NOT be denominator!continuefi awk 'BEGIN{printf " =%.2f\n",'$a'/'$b'}'#^) awk 'BEGIN{printf " =%.2f\n",'$a'**'$b'}'*) echo erroresacdone 刚刚写的倒序输出:[root@liuxiting testdir]# cat daoXuShuChu.sh #!/bin/bash echo "usage: 123456 <Enter>, q <Enter>is quit"while [ 1 ]doecho -n "Pleasw enter number : " read n if [ $n == 'q' ]then breakfisd=0 rev="" on=$n echo "$n" while [ $n -gt 0 ] do sd=$(( $n % 10 )) # get Remainder n=$(( $n / 10 )) # get next digit rev=$( echo $rev$sd) done echo "$on in a reverse order $rev" done

如果只做四个简单的运算这应应该可以

shell脚本代码如下:

#!/bin/bash

read -p "input num1:" a

read -p "input num2:" b

read -p "input operator:" o

case $o in

+) let "res=a + b"

echo $res

-) let "res=a - b"

echo $res

/) awk 'BEGIN{printf "%.2f\n",'$a'/'$b'}'

*) let "res=a * b"

echo $res

esac


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7104972.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-01
下一篇 2023-04-01

发表评论

登录后才能评论

评论列表(0条)

保存