shell脚本使用

前言

shell的基本使用


一、变量的使用

1、判断变量是否为空

#!/bin/sh
variable=$(cat /etc/linux.txt | grep "linux")
if [ -z "$variable" ]; then
    echo "变量为空"
fi 
if [ -n "$variable" ]; then
    echo "变量不为空"
fi

2、判断变量是否相等

#!/bin/sh
variable1=$(cat /etc/linux1.txt | grep "linux")
variable2=$(cat /etc/linux2.txt | grep "linux")
if [ "$variable1" = "$variable2" ]; then
    echo "变量相等"
else
    echo "变量不相等"
fi

3、比较两个整数大小

#!/bin/sh
variable1=2
variable2=1
if [ "$variable1" -gt "$variable2" ]; then
    echo "variable1大于variable2"
elif [ "$variable1" -lt "$variable2" ]; then
    echo "variable1小于variable2"
else
    echo "variable1等于variable2"
fi

二、判断路径是否为空

#!/bin/sh
if [ -e /sys/class/gpio ]; then
    echo "路径存在"
else
    echo "路径不存在"
fi

三、判断文件中git的仓库

#!/bin/sh
find . -type d -name ".git" | while read -r line; do echo "$line"; done

四、shell 遍历代码找到git仓库的路径,然后把每个仓库的最新提交的作者,当前仓库路径,已经仓库下有改动未提交的文件,打印出来

#!/bin/bash

find_git_repos() {
  find . -type d -name ".git" | while read -r git_dir; do
    echo "$(dirname "$git_dir")"
  done
}

print_repo_info() {
  local repo_path="$1"
  pushd "$repo_path" >/dev/null

  # 获取最新提交的作者
  author=$(git log -1 --pretty=format:'%an')

  # 获取有改动未提交的文件
  uncommitted_files=$(git status --porcelain)

  echo "仓库路径: $repo_path"
  echo "最新提交的作者: $author"
  echo "有改动未提交的文件:"
  echo "$uncommitted_files"
  echo "-----------------------------------"

  popd >/dev/null
}

main() {
  while read -r repo_path; do
    print_repo_info "$repo_path"
  done <<< "$(find_git_repos)"
}

main
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

那肯定是很多年以后!

你的鼓励就我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值