Ctrl+R 搜索之前的命令
Ctrl+D 退出
Ctrl+A 移动到行首
Ctrl+E 移动到行尾
Ctrl+U 删除光标前的内容
Ctrl+K 删除光标后的内容
Ctrl+S 锁频
Ctrl+Q 解锁
Ctrl+Y 撤销之前的操作

shell变量:用一个特定的字符串去表示不固定的内容

变量的类型

1 自定义变量
定义变量: 变量名=变量值 变量名必须以字母或下划线开头 区分大小写
引用变量: $变量名 或 ${变量名}
查看变量: echo $变量名 set(所有变量:包括自定义变量和环境变量)
取消变量: unset 变量名
作用范围: 仅在当前shell中有效
2 环境变量
   定义环境变量
      方法一:export back_dir2=/home/backup
      方法二:export back_dir1 将自定义变量转换为环境变量
   引用环境变量:$变量名或 ${变量名}
   查看环境变量:echo $变量名 env 例如 env |grep back_dir2
   取消环境变量:unset 变量名
  变量作用范围:在当前shell和子shell有效
3 位置变量
   $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}
4 预定义变量
   $0 脚本名
   $* 所有的参数
   $@ 所有的参数
   $# 参数的个数
   $$ 当前进程的PID
   $! 上一个后台进程的PID
   $? 上一个命令的返回值 0表示成功      

 变量的赋值方式

 显示赋值
变量名=变量值
read从键盘读入变量值
read 变量名
read -p “提示信息:” 变量名
read -t -p "提示信息:" 变量名
read -n 变量名 定义或引用变量时注意事项:
" " 弱引用
' ' 强引用
· · 命令替换 等价于$() 反引号中的shell命令会被先执行

变量的运算

 整数运算
方法一:expr
expr +
expr $num1+$num2 +-*/%
方法二:$(())
echo $(($num1+$num2)) +-*/%
echo $((num1+num2))
echo $((-*))
echo $(((-)*))
echo $((**))
sum=$((+));echo $sum
方法三:$[]
echo $[+] +-*/%
echo $[**]
方法四:let
let sum=+;echo $sum
let i++;echo $i 小数运算
echo "2*4" |bc
echo "2^4" |bc
echo "scale=2;6/4" |bc
echo "BEGIN{print 1/2}"
echo "print 5.0/2" |python

变量"内容"的删除和替换

url=www.sina.com.cn
echo ${#url} 获取变量值的长度
输出:
echo ${url} 标准查看
输出:www.sina.com.cn
echo ${url#*.}
输出:sina.com.cn
echo ${url##*.}
输出:cn
echo ${url%.*}
输出:www.sina.com
echo ${url%%.*}
输出:www

索引及切片

echo $url
输出:www.sina.com.cn
echo ${url::} :索引开始位置 :取长度
echo ${url:} 从5取到结束

"内容"的替换

url=www.sina.com.cn
echo $(url/sina/baidu)
输出:www.baidu.com.cn
echo $(url/n/N)
输出:www.siNa.com.cn
echo $(url//n/N)
输出:www.siNa.com.cN

 

【shell基础】的更多相关文章

  1. Shell基础学习小结

    0 shell基础概念 Shell是解释性语言,使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象:缺点是它们的效率通常不如编译型语言.Shell命令有本 ...

  2. Shell基础-环境变量配置文件

    Shell基础-环境变量配置文件 source 配置文件 或者 . 配置文件: 把环境变量写入配置文件后,需要用户重新登陆才能生效,而是用source命令,则能直接生效 主要的配置文件: /etc/p ...

  3. shell基础二十篇 一些笔记

    shell基础二十篇 转自 http://bbs.chinaunix.net/thread-452942-1-1.html 研讨:Bash 内建命令 read (read命令更具体的说明见博客收藏的一 ...

  4. shell基础(转)

    shell基础1:文件安全与权限 http://bbs.chinaunix.net/forum/viewtopic.php?t=434579&highlight=wingger 附:Linux ...

  5. Linux实战教学笔记17:精简shell基础

    第十七节 精简shell基础 标签(空格分隔): Linux实战教学笔记 1,前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, ...

  6. shell基础及变量

    一 Shell概述 1.Shell的作用——命令解释器,“翻译官” shell作为一个人机接口,用于解释用户输入的命令,将命令解释为Linux内核可以执行的2进制代码,并将执行的结果返回在标准终端上. ...

  7. Shell 基础教程

    一个比较好的shell基础教程: http://www.runoob.com/linux/linux-shell.html

  8. Linux基础学习(10)--Shell基础

    第十章——Shell基础 一.Shell概述 1.Shell是什么: (1)Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来 ...

  9. Linux Shell基础(下)

    Linux Shell基础(下) 目录 一.shell特殊符号cut命令 二.cut.sort.wc.uniq命令 三.tee.tr.split命令 四.简易审计系统 五.fork, exec, so ...

  10. Linux shell基础知识(上)

    Linux shell基础知识(上) 目录 一.shell介绍 二.命令历史 三.命令补全和别名 四.通配符 五.输入输出重定向 六.管道符和作业控制 七.shell变量 八.环境变量配置文件 九.b ...

随机推荐

  1. 留学Essay写作做到精准表达很关键

    很多留学生在essay写作中可以迅速想到合理的中文论点.可是,写出来的英文论点却漏洞百出,不忍直视.在essay写作中我们要如何精准地用英文写出自己内心的独白呢?除了咨询老师,靠自己一样能做到! 1引 ...

  2. 科学 multi port

    issues/679 create new UUID cat /proc/sys/kernel/random/uuid example config : multi port , multi user ...

  3. 201903-1 小中大 Java

    思路: 中位数就是排序后中间的那个数.如果有偶数个数,就是中间两个数的平均值. 注意,这个平均值可能是整数,可能是小数,如果都是一样的处理,如果输出整数是3.0,而不是3,就有问题.所以需要分开处理. ...

  4. Learning Combinatorial Embedding Networks for Deep Graph Matching(基于图嵌入的深度图匹配)

    1. 文献信息 题目: Learning Combinatorial Embedding Networks for Deep Graph Matching(基于图嵌入的深度图匹配) 作者:上海交通大学 ...

  5. 吴裕雄--天生自然 JAVASCRIPT开发学习:函数

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  6. python单链表的基本操作思路

    单链表: 1.定义链表 class ListNode: # 定义节点 def __init__(self, x): self.val = x # 节点当前值 self.next = None # 指向 ...

  7. 提升Python编程效率的几种方法

    前言 我们知道Python这门语言在运行速度上已经败给了许多别的语言(比如C, C++, Java, Golang....).但从一个开发者的角度来看Python是我最喜欢的语言,很大一部分原因在于其 ...

  8. JZOJ-2019-11-5 B组

    T1 给出一二维01矩阵\(f_{i,j}\), 定义点\((x_a, y_a), (x_b, y_b)\)的「距离」为\(max\{|x_a-x_b|, |y_a-y_b|\}\) 求出一矩阵\(w ...

  9. Servlet过滤器基础及使用场景

    Servlet过滤器详解 一.过滤器基础 1.Servlet过滤器是Servlet的一种特殊用法,主要用来完成一些通用的操作.比如编码的过滤,判断用户的登陆状态等等.Servlet过滤器的适用场合: ...

  10. [腾讯 TMQ] 接口测试用例设计

    接口测试 [腾讯 TMQ] 接口测试用例设计 腾讯移动品质中心 · 2018年01月17日 · 最后由 于静 回复于 20 天前 · 21794 次阅读 本帖已被设为精华帖! 目录 作者:刘燕 团队: ...