一、思维导图
二、shell脚本写一个函数获取用户的uid和gid并使用变量接收
#!/bin/bash
get_uid_gid() {
uid=$(id -u)
gid=$(id -g)
echo "uid: $uid"
echo "gid: $gid"
}
result=$(get_uid_gid)
echo "函数返回结果: $result"
三、整理冒泡排序、选择排序、快速排序的代码
冒泡排序
#!/bin/bash
bubble_sort() {
array=("$@")
n=${#array[@]}
for ((i=0; i<n-1; i++)); do
for ((j=0; j<n-i-1; j++)); do
if [ ${array[j]} -gt ${array[j+1]} ]; then
temp=${array[j]}
array[j]=${array[j+1]}
array[j+1]=$temp
fi
done
done
# 输出排序结果
echo "${array[@]}"
}
arr=($@)
sorted=$(bubble_sort "${arr[@]}")
echo "冒泡排序结果: $sorted"
选择排序
#!/bin/bash
selection_sort() {
array=("$@")
n=${#array[@]}
for ((i=0; i<n-1; i++)); do
min_idx=$i
for ((j=i+1; j<n; j++)); do
if [ ${array[j]} -lt ${array[min_idx]} ]; then
min_idx=$j
fi
done
# 交换元素
temp=${array[i]}
array[i]=${array[min_idx]}
array[min_idx]=$temp
done
# 输出排序结果
echo "${array[@]}"
}
arr=($@)
sorted=$(selection_sort "${arr[@]}")
echo "选择排序结果: $sorted"
快速排序
#!/bin/bash
quick_sort() {
array=("$@")
n=${#array[@]}
if (( n <= 1 )); then
echo "${array[@]}"
return
fi
pivot=${array[0]}
less=()
more=()
for ((i=1; i<n; i++)); do
if (( array[i] <= pivot )); then
less+=(${array[i]})
else
more+=(${array[i]})
fi
done
sorted_less=$(quick_sort "${less[@]}")
sorted_more=$(quick_sort "${more[@]}")
# 输出排序结果
echo "${sorted_less[@]} $pivot ${sorted_more[@]}"
}
arr=($*)
sorted=$(quick_sort "${arr[@]}")
echo "快速排序结果: $sorted"