十.Shell编程之变量

shell编程之变量:
自定义变量
环境变量
参数变量
...


自定义变量:
格式:变量名=变量值
如果变量值中有空格,需要用双引号将其引起来;
其“=”左右都不能有空格
变量调用:
格式:$变量名
在shell中每个变量的值都是属于字符串


创建环境变量:
格式:export 变量名=变量值


 
Bash中的内置命令:
set:表示查看所有的系统变量
env:表示只查看所有的环境变量
help:查看内置命令的列表
help 命令名:查看某个命令的作用
help -d 命令名:显示命令的简要功能介绍
help -s 命令名:显示命令的简要的语法格式
help -m 命令名:显示命令的手册页




Linux系统中的外部命令:
which 命令名:可以查看该命令的路径


有些命令既是外部命令也是内部命令,例如:echo,内部命令要高于外部命令


命令名 --help:查看某个外部命令的用法。注:如果该命令即是内部命令又是外部命令,我们要查看其外部命令的用法:格式:该命令路径 --help  例如:/bin/echo --help


wc 文件名:查看文件内容的行数、单词数、字节数
wc -w 文件名:查看文件内容的单词数


添加某个目录到PATH下方式:例如:PATH="$PATH:/tmp/bin"




3.2.3设置和取消别名命令alias和unalias
是什么?为什么需要用它?怎么用它?
alias:就是设置别名命令


例如我们经常要进入到某个目录下。但该目录的路径有点长,不方便,那我们就可以将该目录完整路径设置成别名,下次进入该目录或文件中,直接输别名即可


设置别名命令格式:alias 别名='cd 该目录或文件的完整路径'
执行:别名
eg:$ alias myaa='cd /tmp/aa/bb/cc/dd'
   $ myaa
***查看Linux系统中默认的别名:
$ alias -p


unalias:取消别名命令
取消别名命令格式:$ unalias 别名


3.5编写并运行第一个脚本


在shell脚本(Bash)中:
进入Bash脚本:vim 文件名(一般以.sh为后缀);执行bash脚本:bash(或source) 文件名
1.#!/bin/bash   表示为此脚本的解释程序
2.# 表示的是注释符号;如果#位于行首,则整行均为注释,如果#不位于行首,那么#的后面为注释
3.如果变量值是有空格的额,就必须要用双引号引起来,才能原样输出
4.变量名=变量值,即给变量名赋值时,“=”左右两边不能空格;
5.在shell脚本中,所有的变量值都是输出字符串形式;例如:a1=123;b1=456;c1=$a1+$b1;执行结果:123+456;
6.变量的命名规则:只能由字母、下划线和数字组成,其中数字不能开头
7.变量的调用(即想要获取某个变量的值):$变量名
8.输出某个变量值:用echo命令;
**注意:
eg:echo I like bash      输出结果:I like bash
   echo "I like bash"    I like bash
   echo 'I like bash'    I like bash
   echo "\"I like bash\""    "I like bash"
   aa=I like bash
   echo $aa                    -->会报错,因为带有空格的变量值必须用引号引起来
   aa="I like bash"
   echo $aa                    -->  I like bash
   bb='I like bash'
   echo $bb                    -->  I like bash 
9.在Bash中,单引号和双引号的区别:
单引号不识别$符号,只把它当做正常的$符号;
双引号会识别$符号,会把它当做调用某个变量的值;
不加任何引号的$符号,也是会把它当做调用某个变量的值
eg:aa=123
   cc='$a';echo $cc       结果:$a
   dd="$a";echo $dd             123   
   ee=$a;echo $ee               123

注意:

在Bash中如果有转义字符的,一定要加-e参数,不然有的转义字符不能被识别     eg:echo -e "hello\tworld"     结果:hello world(如果没有加-e,结果:hello\tworld)

在Linux终端界面中可以不用加-e参数,其转义字符可以自动别识别的。

3.6命令解释顺序与命令类型的查询     ??????
**3.6.1命令的解释顺序
Bash的命令解释顺序: alias→keyword→function→built-in→$PATH 即,一旦出现重名的命令,那么优先级由高到低,依次是:别名→关键字→函数→内置命


令→外部命令。
**3.6.2改变命令解释顺序的三条内置命令 Bash提供的三条内置命令可以改变命令的处理顺序。 1)command <命令>,忽略别名和函数,按照内置命令和外部


命令来处理。 2)builtin <命令>,只查找内置命令,忽略函数和外部命令。 3)enable,禁用或使能内置命令。
eg:alias pwd="This is a alias pwd"
   pwd 结果:This is a alias pwd
   command pwd      /home/shiyanlou
**3.6.3命令类型的查询
查询某个命令是别名(alias)、关键字(keyword)、函数(function)、内置命令(builtin)和外部命令(file):
格式:type -t 命令名
为什么在终端上执行此命令,是没有呢??????

3.7命令的退出状态以及命令true和false
在一个命令或程序结束之后,都会返回一个退出状态。状态值范围为0到255,0表示成功执行,非零均表示失败,其中127表示未找到命令,内置变量$?存储着上一条命令


的退出状态
eg:$ date
  $ echo $?     结果:0     表示date命令运行成功
eg:$ dateee
   $ echo $?    结果:127   表示dateee命令不存在,找不到该命令
Bash有两个特殊的内置命令:true和false。命令true的返回结果永远是成功,命令false的返回结果永远是失败。













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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值