Linux使用脚本shell从命令行中获取两个参数 计算两个参数之间整数和 如输入 test.sh 2 10,则输出 54
时间: 2024-03-10 12:43:39 浏览: 22
可以使用以下脚本来实现:
```bash
#!/bin/bash
start=$1
end=$2
sum=0
for (( i=start; i<=end; i++ ))
do
sum=$((sum+i))
done
echo $sum
```
在命令行中运行该脚本,并传入两个整数参数:
```bash
$ ./test.sh 2 10
54
```
该脚本会计算出从第一个参数到第二个参数之间的整数和,即 2+3+4+5+6+7+8+9+10=54,并将结果输出到命令行中。
相关问题
使用shell脚本完成以下功能 从命令行中获取两个参数 计算两个参数之间整数和 如输入 test.sh 2 10,则输出 54
好的,以下是一个可能的实现方式:
```bash
#!/bin/bash
# 获取命令行参数
start=$1
end=$2
# 计算整数和
sum=0
for ((i=start; i<=end; i++)); do
sum=$((sum+i))
done
# 输出结果
echo $sum
```
其中,`$1` 和 `$2` 分别表示命令行中输入的第一个和第二个参数。使用 `for` 循环计算两个参数之间的整数和,并将结果存储在 `$sum` 变量中。最后,使用 `echo` 命令输出结果。
您可以将以上代码保存为一个 `.sh` 文件,比如 `test.sh`,然后在终端中使用 `bash test.sh 2 10` 来运行脚本。输出结果应该为 `54`。
编写shell脚本test05.sh实现将输入的参数(参数均为正整数)按照从小到大的顺序写入到当前目录中的mytest05中的con.txt文件中。
好的,以下是test05.sh的代码实现:
```bash
#!/bin/bash
# 判断是否有参数输入
if [ $# -eq 0 ]; then
echo "请输入参数!"
exit 1
fi
# 判断输出文件是否存在,不存在则创建
if [ ! -d "./mytest05" ]; then
mkdir mytest05
fi
if [ ! -f "./mytest05/con.txt" ]; then
touch ./mytest05/con.txt
fi
# 将参数排序并输出到文件中
echo $@ | tr ' ' '\n' | sort -n > ./mytest05/con.txt
echo "参数已按从小到大的顺序写入到mytest05/con.txt文件中!"
```
使用方法:
1. 在终端中进入存放test05.sh脚本的目录
2. 输入命令`chmod +x test05.sh`,使脚本具有执行权限
3. 输入命令`./test05.sh 5 1 3`(示例输入三个参数5、1、3),即可将参数按从小到大的顺序写入到当前目录中的mytest05中的con.txt文件中。
注意:如果输入的参数中有非数字或负数,会出现错误。