码迷,mamicode.com
首页 > 系统相关 > 详细

shell 基础

时间:2019-12-24 10:08:12      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:返回   虚拟   ssi   返回值   提示信息   else   test   str   shell   

 

1.开头:#!/bin/sh或#!/bin/bash 

一 定义变量

1.全局变量 局部变量
在脚本或者直接在目录下调用的定义的变量是局部变量
2.查看 变量 用echo 调用变量要用 $
3.只读变量 readonly 删除变量 unset
4.查看所有环境变量 env
5.""    和   ‘’    的变量的区别在于  “” :  内可以识别变量 和转义字符

二 变量的使用

1.获取字符串的长度
str=“abcd”
echo ${#str}
2.输出字符串或者提取
echo $name
echo ${name:1:3}
1 代表从第一个开始截取 3 代表截取个数
3.数组
定义数组 name=(1111 2222 333)
读取数组
echo ${name[0]} 读取下标为0的
echo ${name[@]} 读取所有
echo ${#name[@]} 获取数组的长度


三 运算符的使用


1.+ - * / % = == !=
expr 10 + 20
echo $((10+20))
let n++
2.[]   和  [[]]  的区别 可以虚拟匹配
if [[ $a =~ "x" ]]; then
echo "包含"
else
echo "不包含"
fi

2.关系运算符
man test 里面会有解释
-eq 是否相等
-ne 是否不相等
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于

3. 布尔运算符
-o or || 两者满足一种即可
-a and && 两者都要满足


四 传参

  echo ‘$1 is :‘$1 # 输出$1 is: 可以直观的看到$1的值
  echo ‘$# is:‘$# # 输出有多少个参数
  echo ‘$@ is:‘$@ # 输出所有参数
  echo ‘$* is:‘$* # 输出所有参数
  echo ‘$$ is:‘$$ # 输出did
  echo ‘$? is:‘$? # 查看上一条语句有没有成功

$$ Shell本身的PID(ProcessID)
$! Shell最后运行的后台Process的PID
$? 最后运行的命令的结束代码(返回值)
$- 使用Set命令设定的Flag一览
$* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@ 所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$# 添加到Shell的参数个数
$0 Shell本身的文件名
$1~$n 添加到Shell的各参数值。$1是第1参数、$2是第2参数…

五 字符串运算符

= :检测两个字符串是否相等
!= :检测两个字符串不相等
-z : 是否为空
-n : 字符串长度是否为 0

文件测试运算符
-b 检测文件是否为块设备
-d 是否为目录
-f 是否为文件
-r -w -x 是否可读 可写 可执行
-e 开启转义
\n 换行
%s 将参数按字面意思解释为字符串
%f 浮点
%d 整形

 

六 read从键盘读入内容

用法:

read -p "提示信息" 变量名

例子:

read -p "请输入你的用户名: " username

 

 

shell 基础

标签:返回   虚拟   ssi   返回值   提示信息   else   test   str   shell   

原文地址:https://www.cnblogs.com/kriskris/p/12089598.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!