首页 > 解决方案 > 如何从脚本中调用脚本

问题描述

所以我想弄清楚的问题是从脚本中调用一个脚本来做这个问题

在名为 june_trans.sh 的单个脚本中执行以下事务。假设余额为零开始。只要存储在文件中的值初始化为零,您就可以使用您选择的任何文件名来回答这个问题。

deposit <filename> 1200
debit <filename> 390
debit <filename> 29
debit <filename> 8
deposit <filename> 120
debit <filename> 50
debit <filename> 40
debit <filename> 20
debit <filename> 9
deposit <filename> 1200
debit <filename> 200
debit <filename> 9
debit <filename> 50
deposit <filename> 1200
debit <filename> 129
debit <filename> 80
debit <filename> 9
debit <filename> 20

显示账户余额。

余额是多少?

我应该使用以前创建的脚本来创建这个脚本,例如

存款.sh

amount=$(cat $1)
echo $(($amount + $2)) > $1

借记.sh

amount=$(cat $1)
echo $(($amount - $2)) > $1

show_balance.sh

amount=$(cat $1)
echo $amount

所以我的问题是如何调用这些脚本来创建名为 june_trans.sh 的脚本?

这就是我长期所做的,但我需要一种更有效的方式来解决这个问题。而且我在编写脚本时不能使用任何 if/loops 语句

amount=$(cat $1)
balance=$(($amount + 1200 - 390 - 29 - 8 + 120 - 50 - 40 - 20 - 9 + 1200 - 200 - 50 - 9 + 1200 -129 - 80 - 9 - 20))
echo $balance

编辑:通过运行得到正确答案:

jun_trans.sh 金额

在我的主脚本里面


./deposit.sh $1 1200

./deposit.sh $1 1200

./deposit.sh $1 1200 

./deposit.sh $1 120

./debit.sh  $1 390

./debit.sh  $1 29

./debit.sh $1 8

./debit.sh $1 50

./debit.sh $1 40

./debit.sh $1 20

./debit.sh $1  9

./debit.sh $1 200

./debit.sh $1 9

./debit.sh $1 50

./debit.sh $1 129

./debit.sh $1 80

./debit.sh $1 9

./debit.sh $1 20

./show_balance.sh $1

并且输出是 2677 是正确的,但是如何通过仅在我的主脚本中调用三个迷你脚本中的每一个来更有效地运行它一次?

标签: bashshellunix

解决方案


推荐阅读