Linux学习第五天——shell 基础及变量

shall的作用和地位:
shall的作用:shall作为一个人机接口,用于解释用户输入的命令,将命令解释为Linux内核可以执行的2进制代码,并将执行的结果返回在标准终端上
shall在Linux系统中的位置:用户请求-->shell-->Linux内核-->硬件

命令别名:alias 别名='原命令'
alias的作用仅在该次登入的操作,即输入一次alias后,这个修改只在当前的Shell生效。如果重新开启一个 shell 或者重新登录,则这些 alias 将无法使用。
Linux中提供了alias永久化的方法:
    1. 若要每次登入就自动生效别名,则把别名加在/etc/profile 或 ~/.bashrc 中。然后# source ~/.bashrc
    2. 若要让每一位用户都生效别名,则把别名加在 /etc/bashrc 最后面,然后 # source /etc/bashrc
删除别名:unalias 别名

管道符:    
    命令格式:命令1 | 命令2      命令1的正确输出作为命令2的操作对象

tee: 
tee [-a] file
选项和参数:
    -a:以累加(append)的方式,将数据加入file中
last | tee last.list | cut -d " " -f1 :这个范例可以让我们将last的输出存一份到 last.list 文件中
ls -l /home | tee ~/homefle | more:这个范例则是将ls的数据存一份到 ~/homefile,同时屏幕也有输出信息
ls -l / | tee -a ~/homefile | more:要注意 !tee后接的文件会被覆盖,若加上 -a 这个选项则能将信息累加

echo输出命令
echo [选项] [输出内容]
选项:    -e:支持反斜杠控制的字符转换
    \a:发出警告声
    \b:删除前一个字符
    \c:最后不加上换行符号
    \f:换行但光标仍旧停留在原来的位置
    \n:换行且光标移至行首
    \r:光标移至行首,但不换行
    \t:插入tab
    \v:与 /f 相同
    \\:插入 \ 字符
    \nnn:插入nnn(八进制)所代表的ASCII字符

使用脚本编程语言的好处:它们多半运行在比编译语言还高的层级,能够轻易处理文件与目录之类的对象。
        缺点:它们的效率通常不如编译型语言

shell 脚本的基本元素
    1. #!/bin/bash 必须的,指出shell的类型
    2. # 注释
    3. 变量
    4. 控制
运行 shell 脚本的方法
    1. sh filename.sh
    2. chomd +x filename.sh
        ./filename.sh

shell 变量可以保存如路径名、文件名或者一个数字
变量名称可以由字母、数字和下划线组成,但是不能以数字开头。
在Bash中,变量的默认类型都是字符串型,如果要进行数值运算,则必须指定变量类型为数值型
变量分类:
本地变量(用户变量):局部变量只在创建它们的 Shell 中使用,可以在 shell 程序内任意使用和修改它们
环境变量:可以在创建它们的 Shell 及其派生出来的任意子程序中使用。有些变量是用户创建的,其他的则是专用的(比如PATH、HOME)。是系统中的一部分,不必去定义它们,可以在 shell 程序中使用它们。还能在 shell 中加以修改
内部变量:由系统提供的。与环境变量不同,但用户不能修改它们

本地变量:
本地变量在现在的 shell 生命期的脚本中使用

变量的声明(变量是弱类型的,所以不用声明类型):
变量名=值(1. 等号两边不可以有空格
    2. 取值包含空格,必须用双引号括起来
    3. Shell 变量可以用大小写字母,区分大小写)
变量的引用:
    $变量(单字符)
    ${变量}(多字符)
显示变量:echo $变量名

echo 显示输出
    -n:不要在最后自动换行
    -e:打开反斜杠 esc 转义

清除变量:unset 变量名(此时变量名前不加 $)

shell 中的特殊符号:
    注释符#
    变量符$
    单引号:被引起的字符全部按照普通字符
    双引号:引号内的内容除$、转移符\、倒引号 ` 这三个保留特殊功能,其他字符均做普通字符
    倒引号`:引号内的字符串当做 shell 命令行解释执行
    反斜杠\:转义字符,把特殊字符变成普通字符
    获取字符串长度:eg:string="abcd"  echo ${#string}  #输出4
    提取字符串:eg:string="abcdef"  echo ${string:1:4}  #输出bcdef
    

 

 

 

 

 

 

 


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值