linux shell脚本写一个冒泡程序
时间: 2024-05-14 21:17:19 浏览: 20
好的,以下是一个简单的冒泡排序的shell脚本:
```
#!/bin/bash
arr=(10 8 4 6 2)
len=${#arr[@]}
for ((i=0; i<$len; i++)); do
for ((j=0; j<$((len-i-1)); j++)); do
if [ ${arr[j]} -gt ${arr[$((j+1))]} ]; then
temp=${arr[j]}
arr[$j]=${arr[$((j+1))]}
arr[$((j+1))]=$temp
fi
done
done
echo ${arr[@]}
```
这个脚本定义了一个数组arr,并使用冒泡排序对其进行排序。具体来说,它使用两个嵌套的循环,外循环从0到数组长度减1,内循环从0到数组长度减外循环次数减1。在每次内循环中,如果当前元素比下一个元素大,则交换它们。最后,打印出排序后的数组。
相关问题
用shell脚本写一个冒泡程序
A:
```
#!/bin/bash
# 定义一个测试数组
arr=(8 3 1 7 0 4 6 9 2 5)
# 冒泡排序函数
function bubble_sort() {
for (( i = 0; i < ${#arr[@]}-1; i++ )); do
for (( j = 0; j < ${#arr[@]}-i-1; j++ )); do
if (( ${arr[$j]} > ${arr[$j+1]} )); then
temp=${arr[$j]}
arr[$j]=${arr[$j+1]}
arr[$j+1]=$temp
fi
done
done
}
# 调用冒泡排序函数
bubble_sort
# 打印排序后的数组
echo "排序后的数组为:${arr[@]}"
```
以上是一个用shell脚本写的冒泡排序程序,可以对任意数组进行排序,然后输出排序后的数组。程序中定义了一个测试数组,然后调用冒泡排序函数进行排序,并输出排序后的结果。
写一个linux shell脚本
好的,我来给你写一个简单的 Linux shell 脚本,它的功能是统计某个目录下的文件数量和文件夹数量:
```
#!/bin/bash
# 获取用户输入的目录路径
echo "请输入目录路径:"
read dir_path
# 统计文件夹数量
dir_num=$(ls -l $dir_path | grep "^d" | wc -l)
# 统计文件数量
file_num=$(ls -l $dir_path | grep "^-" | wc -l)
# 输出统计结果
echo "目录 $dir_path 中包含 $dir_num 个文件夹和 $file_num 个文件。"
```
脚本的具体实现过程如下:
1. 首先通过 `echo` 命令提示用户输入目录路径,并通过 `read` 命令获取用户输入的值。
2. 接着使用 `ls -l` 命令列出目录下的所有文件和文件夹,并通过 `grep` 命令筛选出文件夹和普通文件,最后通过 `wc -l` 命令统计数量。
3. 最后使用 `echo` 命令输出统计结果。
注意:在 Linux 系统中,要运行 shell 脚本需要先给脚本添加执行权限,可以使用 `chmod +x 脚本文件名` 命令来添加权限。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![application/octet-stream](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)