好用但没记住的linux shell知识

shell只是为了保护系统内核从而提供给用户间接操作系统的一个接口。

cat /ets/shells查看系统上shell的种类。不同的shell语法功能会有差异,一般用bash。

在shell脚本中的一行用#!/usr/bin/bash形式声明脚本使用的bash类型,不同os bash路径可能有差异。

bash、绝对路径、相对路径,会以子shell的方式执行脚本,所以变量无法传递到父进程。

source、点执行脚本是在当前进程执行脚本,所以脚本中的变量可以保留。

shell脚本的调试

bash -n只检查语法但不执行;-x将用到的script内容输出到屏幕,类似脚本中的set -x。

脚本中加set -e命令执行错误即终止。

变量注意点:等号两边不能有空格;双引号内容的$等特殊字符保留其原有特点,单引号的特殊字符为普通字符;父进程定义的变量无法在子进程直接 使用,需用export声明;

read -p "等待输入的提示语” yn保存输入结果的变量值

$(($1+$2))实现两个数字相加

$(seq 1 100)生成1到100的序列

条件判断式

只有一个条件

if [ "$1" == "$2" ]; then

elif [ "$1" == "$2" -o "$2"=="$3" ]; then

#多个条件在一个括号中,用-o、-a、!表示逻辑关系

elif  [ "$1" == "$2" ] || [ "$2" == "$3" ]; then

#多个条件在多个括号中,用||、&&表示逻辑关系

else

fi

case用法

case $1 in

"hello")

#heihei1

;;

"hello2")

#heihei2

;;

*)

#所有

esac

function函数

function func_name()

{

#$0函数名字

#$1函数第一个参数

}

循环

while [ "$1"=="$2" ]

do

done

until [ "$1"=="$2" ]

do

done

for i in var1 var2

do

done

s=0

for((i=1;i<=100;i++)

do

s=$(($s+$i))

done

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值