- 整理思维导图
- 写一个函数,获取用户的uid和gid并使用变量接收
#!/bin/bash function get() { user=`whoami` uid=`id -u $user` gid=`id -g $user` echo "该用户的uid为$uid" echo "该用户的gid为$gid" } get
- 整理冒泡排序、选择排序和快速排序的代码
冒泡排序
#!/bin/bash arr=(9 8 15 2 12 5) length=${#arr[@]} function bubble() { for ((i=0; i<$length-1; i++)) do for ((j=0; j<$length-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[@]}" } bubble
选择排序
#!/bin/bash arr=(4 55 12 32 24 63) length=${#arr[@]} function simple() { i=0 j=0 min=0 for((i=0;i<length-1;i++)) do min=$i for((j=i+1;j<length;j++)) do if [ ${arr[$j]} -gt ${arr[$min]} ] then min=$j fi done if [ $min -ne $i ] then temp=${arr[$min]} arr[$min]=${arr[$i]} arr[$i]=$temp fi done echo "排序之后为${arr[*]}" } simple
快速排序
#!/bin/bash quick_sort() { local arr=("$@") local left=() local right=() local pivot=${arr[0]} # 选择第一个元素作为基准 if [ ${#arr[@]} -le 1 ]; then echo "${arr[@]}" return fi for i in "${arr[@]:1}"; do if [ $i -lt $pivot ]; then left+=($i) else right+=($i) fi done echo "$(quick_sort "${left[@]}") $pivot $(quick_sort "${right[@]}")" } arr=(9 4 6 2 7 1 5 3 8) sorted_arr=$(quick_sort "${arr[@]}") echo "排序后的数组:$sorted_arr"