编写shell脚本,判断输入的参数个数,如果为两个参数则相加并输出相加后的值
时间: 2023-11-27 07:49:02 浏览: 59
可以使用 `$#` 来获取输入参数的个数,然后使用 `$1` 和 `$2` 分别获取第一个和第二个参数,最后使用 `$((...))` 进行求和:
```bash
#!/bin/bash
if [ $# -eq 2 ]; then
sum=$(( $1 + $2 ))
echo $sum
else
echo "Usage: $0 <num1> <num2>"
fi
```
保存为 `sum.sh`,然后通过 `chmod +x sum.sh` 命令赋予执行权限,即可在终端运行。例如:
```
$ ./sum.sh 3 5
8
```
相关问题
编写shell脚本文件统计两个文件中包含the的的行数并相加输出结果
编写一个Shell脚本来统计两个文件中包含单词"the"的行数并相加,你可以创建一个简单的bash script,如下所示:
```bash
#!/bin/bash
# 定义要检查的文件名
file1="file1.txt"
file2="file2.txt"
# 使用grep命令找出每文件包含"the"的行数,并将结果乘以1(因为默认grep会返回匹配行的数量)
lines_in_file1=$(grep -c "the" "$file1")
lines_in_file2=$(grep -c "the" "$file2")
# 计算总行数
total_lines=$((lines_in_file1 + lines_in_file2))
# 输出结果
echo "The total number of lines containing 'the' in both files is: $total_lines"
```
保存这个脚本到一个.sh文件,例如`count_the_lines.sh`,然后给它执行权限:
```sh
chmod +x count_the_lines.sh
```
接着,运行脚本:
```sh
./count_the_lines.sh
```
编写一个 Shell 脚本,可以在在shell上运行,首先从键盘输入一个文本文件路径作为参数,注意异常输入的问题,如果输入异常,输出英文提示,直到输入正确,然后统计输出该文本文件中行数、单词个数(中文个数和英文单词个数相加的总个数)
可以为您编写一个符合您要求的 Shell 脚本,请参考以下代码:
```shell
#!/bin/bash
# 提示用户输入文本文件路径,并进行异常输入处理
while true; do
read -p "请输入文本文件路径: " filepath
if [ -f "$filepath" ]; then
break
else
echo "文件不存在,请重新输入!"
fi
done
# 统计行数
line_count=$(wc -l < "$filepath")
# 统计单词个数(中文个数和英文单词个数相加)
word_count=$(cat "$filepath" | tr -d '\n' | sed 's/[[:punct:]]/ /g' | sed 's/[[:space:]]/ /g' | awk '{print NF}')
# 输出统计结果
echo "行数:$line_count"
echo "单词个数:$word_count"
```
将以上代码保存为一个后缀为 `.sh` 的文件,例如 `count.sh`。然后在终端中运行该脚本,按照提示输入文本文件路径即可获得统计结果。
请注意,该脚本假设输入的文本文件是普通文本文件,不包含特殊格式或编码。
阅读全文