编写一个 shell 脚本,实现功能: 1)传递一个字符给给脚本,当字符为J/C时,该脚本用于计算累加/除法。
时间: 2023-07-18 19:09:31 浏览: 67
好的,这是一个简单的实现:
```bash
#!/bin/bash
if [ "$1" = "J" ]; then
# 累加
sum=0
for i in "${@:2}"; do
sum=$((sum + i))
done
echo "累加结果为:$sum"
elif [ "$1" = "C" ]; then
# 除法
if [ "$#" -ne 3 ]; then
echo "参数错误,应该传递两个数字"
exit 1
fi
dividend="$2"
divisor="$3"
if [ "$divisor" -eq 0 ]; then
echo "除数不能为0"
exit 1
fi
result=$(echo "scale=2; $dividend / $divisor" | bc)
echo "除法结果为:$result"
else
echo "字符不是J或C"
exit 1
fi
```
脚本接受一个字符作为第一个参数,如果是 J,则接受后面的数字参数并进行累加,如果是 C,则接受后面的两个数字参数进行除法计算。注意,这里使用了 `bc` 命令来进行除法计算,因为 bash 的计算精度有限。
相关问题
在shell脚本中怎么给一个函数传递一个字符串
您好,我可以回答您的问题。在 shell 脚本中给一个函数传递一个字符串,可以使用函数的参数来实现。在函数定义时,可以在函数名后面紧跟着括号并在括号内定义函数的参数,例如:
```
function my_function() {
local my_string=$1
# 使用 my_string 变量执行函数的操作
}
```
在调用这个函数时,只需要将需要传递的字符串作为参数传递即可,例如:
```
my_function "hello world"
```
这样,my_string 变量就会被设置为 "hello world",并在函数中使用。希望我的回答能够帮助到您。
在shell脚本中怎么给一个函数传递一个字符串变量
可以使用函数参数来传递字符串变量。例如:
```
function my_func() {
local my_str=$1
echo "My string is: $my_str"
}
# 调用函数,并传递字符串变量
my_func "Hello World!"
```
在函数中使用 `local` 关键字来声明一个局部变量,然后将第一个参数 `$1` 赋值给这个变量。接下来就可以在函数中使用变量 `my_str` 来表示传递进来的字符串变量了。