shell脚本 之 经典脚本留存~ shell模板-shell-gpt脚本 留存

什么是shell
shell是一种命令语言,是为使用者提供操作界面的一种软件,软件可以接收用户的命令,并且执行用户输入的命令,然后对相应的程序进行调用。
shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、bash、psh、zsh;C家族主要包括csh、tcsh(bash和zsh在不同程度上支持csh的语法)
我们可以通过/etc/shells条件来查询linux支持的shell。命令如下:
[root@localhost ~] vi /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh

shell常用语法

https://www.cnblogs.com/lynalee/p/16565934.html

原文:

https://zhuanlan.zhihu.com/p/500367210

1 打印国际象棋棋盘:
#!/bin/bash
# 打印国际象棋棋盘
# 设置两个变量,i 和 j,一个代表行,一个代表列,国际象棋为 8*8 棋盘
# i=1 是代表准备打印第一行棋盘,第 1 行棋盘有灰色和蓝色间隔输出,总共为 8 列
# i=1,j=1 代表第 1 行的第 1 列;i=2,j=3 代表第 2 行的第 3 列
# 棋盘的规律是 i+j 如果是偶数,就打印蓝色色块,如果是奇数就打印灰色色块
# 使用 echo ‐ne 打印色块,并且打印完成色块后不自动换行,在同一行继续输出其他色块
for i in {1..8}
do
   for j in {1..8}
   do
    sum=$[i+j]
  if [  $[sum%2] -eq 0 ];then
    echo -ne "\033[46m  \033[0m"
  else
   echo -ne "\033[47m  \033[0m"
  fi
   done
   echo
done
冒泡排序
#!/bin/bash
#解释:
#sort 函数用来对数组进行冒泡排序,它接收一个数组作为参数,并返回排序后的结果。
#if [[ "$#" -eq 0 ]]; then 和 if [[ "$1" == "-h" || "$1" == "--help" ]]; then #分别表示如果没有参数或者第一个参数是 -h 或 --help,就打印帮助信息并退出。
#echo "Usage: $0 [-h|--help] <array>" 表示打印使用说明。
#sorted=$(sort "$@") 表示调用 sort 函数对传入的数组进行排序,并将结果保存到变量 sorted 中。
#echo "Sorted array: $sorted" 表示打印排序后的数组。
function sort() {
  arr=("$@")
  length=${#arr[@]}
  for ((i=0; i<$length-1; i++))
  do
    for ((j=0; j<$length-1-$i; j++))
    do
      if ((${arr[j]} > ${arr[j+1]}))
      then
        temp=${arr[j]}
        arr[j]=${arr[j+1]}
        arr[j+1]=$temp
      fi
    done
  done
  echo ${arr[@]}
}

if [[ "$#" -eq 0 ]]; then
  echo "Usage: $0 [-h|--help] <array>"
  echo "Sort an array using bubble sort algorithm."
  echo "  -h, --help      display this help and exit"
  echo "  <array>         the array to be sorted, e.g. '1 3 2 4'"
  exit 1
fi

if [[ "$1" == "-h" || "$1" == "--help" ]]; then
  echo "Usage: $0 [-h|--help] <array>"
  echo "Sort an array using bubble sort algorithm."
  echo "  -h, --help      display this help and exit"
  echo "  <array>         the array to be sorted, e.g. '1 3 2 4'"
  exit 0
fi

sorted=$(sort "$@")
echo "Sorted array: $sorted"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值