Shell学习之练习

这篇博客介绍了多个Shell脚本练习,包括创建简单计算器、计算数列和文件扩展名转换,还涉及到文件编译、系统信息查询、文本处理、文件合并以及更多实用的Shell命令和技巧。通过这些例子,读者可以深入理解并提升Shell脚本编写能力。
摘要由CSDN通过智能技术生成

1、简单计算器

#! /bin/sh  

while [ : ];do
  read a op b
  
  case $op in
  "+")
    c=$[a+b];;
  "-")
    c=$[a-b];;
  "*")
    c=$[a*b];;
  "/")
    c=$[a/b];;
  *)
    c=0;;
  esac
  echo "$a $op $b = $c"
  
done   
  

2、求1 to n的和

#! /bin/sh  

while [ : ];do
  read a
  b=$a
  count=0
  while [ $a -gt 0 ];do
    count=$[a+count]
    a=$[a-1]
    echo $a
  done 
  echo "1 to $b  $count"
done

3、 将一目录下所有的文件的扩展名改变

#! /bin/bash

while [ : ];do
   #获得当前目录路径,未用到,只是学习一下
   basedir=`cd $(dirname $0); pwd -P`
   echo $basedir   
      for file in *.*; do
         
           mv $file ${$file%%.*}.bat
         
      done
        
   else
      echo "Path is not dir"
 
done

4、编译当前目录下的所有.c文件

循环遍历当前目录下的.C文件,并将文件名或出错信息重定向到compile文件中,调用gcc编译,休眠2秒。

basename:作用为分离路径中的文件名。

#! /bin/bash

for file in *.c; do 
   echo $file
    gcc -o $(basename $file .c) $file       
    sleep 2;  
done > compile 2>&1
5、 打印root 可以使用可执行文件数
echo "root's bins: $(find ./ -type f | xargs ls -l | sed '/-..x/p' | wc -l)"

6、输出本机创建n个目录所用的时间

#! /bin/bash
read filenum
time (
    for i in {1..$filenum } ; do 
        mkdir /tmp/ttt$i
    done
)

7、打印本机的交换分区大小

free -m | sed -n '/Swap/p' | awk '{ print $2}'

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值