01我的shell指令笔记

#!/bin/bash

#1.基本指令
# clear #清屏
# touch file #创建文件
# mkdir mk  #创建文件夹
# ls -al  #查看当前目录详细信息
# echo "打印信息"
# name="hhddyy"
# echo name #打印字符name
# echo "name"  #打印字符name
# echo "$name" #打印name内容
# echo $name   #打印name内容
# echo '$name'  #打印$name字符

# read  str #从终端读一个值到str中
# echo $str
# read  str  num #从终端中分别读二个值到str、num中
# echo $str $num
# echo "$0" #进程名字  
# echo "$$"  #进程ID号
# echo "=$*" #代表执行脚本传递进来的全部参数
# echo "$1" #代表执行脚本传递进来的第一个参数
# echo "$3" #代表执行脚本传递进来的第三个参数
# echo "$#"   #代表执行脚本传递进来的参数个数

# str="hahaha"
# [ $str = "str" ] # 该式子是否成立 成立 “$?”输出结果为0 ,不成立为1
# echo "$?"

# echo "str1=$str" #" "将str的值填入str1
# echo "this is `date`"  # ` `内部当作一条命令执行`` 不是单引号,而是 键盘中 ~ 键英文状态下的输入 
# echo "this is `ls`"

#2.() 和{}的使用
# num=30
# (
#     num=20
#     echo "$num" #在()里面num的值会改变
# )
# echo "$num" #在()里面num的值不会改变

# {
#     num=20
#     echo "$num" #在{}里面num的值会改变
# }
# echo "$num" #出了{}num的值也会改变

# 3.#输入和输入提示不在同一行
# echo "输入一个值num:"
# read num
# echo $num 
# #输入和输入提示在同一行
# read -p "输入一个值num:" num
# echo $num

#4.空间分配问题
# echo ${num1:-101}
# num2=106
# echo ${num2:-102}
# echo "$num1,$num2" #只能输出num2的值106 num1没有分配空间

# echo ${num3:=103}
# num4=108
# echo ${num4:=104}
# echo "$num3,$num4" #都能输出num2的值103 num1108

# 5.#字符串替换
# str="studentstudent"
# #一个/
# echo ${str/"tu"/"TU"} #替换第一个
# #两个//
# echo ${str//"tu"/"TU"} #替换所有
# echo str   #字符本身不会改变,替换只在表达式发生改变

#6.文件测试
# -r 读 、-w 写、x执行 、-e是否存在、-s文件里面是否有内容、-f是否是文件、-d是否是目录
#         

# test -e ./file #判断文件是否存在 存在输出0 否 1
# echo $?
# test -w ./file
# echo $? 
# #另一种写法
# [ -s ./file ]
# echo $? 

# 7.#字符串测试
# str="hell"
# [ $str = "hell" ] #判断字符串是否相等
# echo "$?"  #输出0
# [ $str = "hell1" ] #判断字符串是否相等
# echo "$?"  #输出1

# [ -z $str ] #判断是否为空,为空输出0
# echo "$?"  #不为空输出1

#8.数字大小判断
# -eq 是否相等
# -gt 是否大于
# -ge 是否大于等于
# -lt 是否小于
# -le 是否小于等于
# -ne 不等于
# num=10
# test $num -eq 10 #真输出0
# echo "$?"
# [ $num -eq 11 ] #真假输出1
# echo "$?"

#if控制语句
#判断num与10的关系
num=11
if test $num -eq 10 ;then 
 echo "$num等于10"
#else if
 elif [ $num -gt 11 ] ;then
 echo "$num大于10"
 else
 echo "$num小于10"
 fi

 #case语句

 read str
 echo $str
 case $str in
           No)
          echo "匹配上No"
           ;;
   
           Yes)
            echo "匹配上Yes"
           ;;
          

           Y*|y*|O*) #匹配Y、y、O开头的字符串
            echo "匹配Y*|y*|O*"
           ;;

           *) #所有都可匹配上
            echo "匹配到*"
           ;;#相等于c中的break

esac #尾


#for 循环的使用
# declare -i sum #将i指定成int型
# for((i=0;$i<5;i=$i+1)) #将i从0加到4
# do
#   sum=$sum+$i;

# done
# echo "sum=$sum" 
# sum=0
# for i in 1 2 3 4 5  #将这些数相加
# do
#   sum=$sum+$i
#   echo "sum=$sum" 
# done

#遍历目录
# mkdir  stu
# for i in `ls` #判断当前目录下哪个是文件哪个是目录
# do
#  if test -d $i ;then
#  echo "$i是目录"
#  elif [ -f $i ] ;then
#  echo "$i是文件"
#  else
#  echo "$i不是文件也不是目录"
#  fi
# done
# rm -rf stu


#while是使用
# declare -i num
# declare -i sum
# num=0
# sum=0

# while test  $num -ne 10 #当num小于10 进入循环
# do
  
#   num=$num+1
#   if [ $num -eq 6 ];then #当等于6时,本次循环结束,开始下一轮循环
#   continue

#   elif test $num -gt 8 ;then  #当等于8时跳出循环
#   break
#   fi
#   echo "$num"
# done

#until 就是不满足条件时进入循环 与while相反,
# until test  $num -eq 10 #当num不等于10 进入循环
# do
  
#   num=$num+1
#   if [ $num -eq 6 ];then #当等于6时,本次循环结束,开始下一轮循环
#   continue

#   elif test $num -gt 8 ;then  #当等于8时跳出循环
#   break
#   fi
#   echo "$num"
# done

#分文件操作
# source 03myadd.sh #包含有myadd函数函数的文件

# read num1 num2  #键盘输入两个数
# myadd num1 num2 #调用myadd进项相加
# echo "$?"  #输出结果









03myadd.sh 文件代码

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值