精华内容
下载资源
问答
  • Linux Shell变量类型

    千次阅读 2021-01-23 10:53:31
    自定义变量类型 定义变量: 变量名=变量值 变量名必须以字母或者下划线开头,区分大小写 引用变量: $变量名 或者$(变量名) 查看变量: echo $ 变量名 set(包括自定义变量和环境变量) 取消变量: unset环境变量 ...

    Linux Shell 变量的类型

    1. 自定义变量类型
      定义变量: 变量名=变量值 变量名必须以字母或者下划线开头,区分大小写
      引用变量: $变量名 或者$(变量名)
      查看变量: echo $ 变量名 set(包括自定义变量和环境变量)
      取消变量: unset环境变量
      作用范围: 仅在当前shell中有效
    [root@localhost ~]# vartest=123456
    [root@localhost ~]# echo $vartest
    123456
    [root@localhost ~]# echo ${vartest}  //在当前shell中起作用
    123456
    [root@localhost ~]# bash
    [root@localhost ~]# echo $vartest    //在子shell中不起作用
    
    [root@localhost ~]# exit
    exit
    [root@localhost ~]# echo ${vartest}
    123456
    
    
    1. 环境变量
      定义环境变量: 方法一 : export back_dir2=/home/test
      方法二 : export back_dir1 将自定义变量转换为环境变量
      引用环境变量: $变量名 或者$(变量名)
      查看环境变量: echo $ 变量名
      取消环境变量:unset 变量名
      变量作用范围:在当前shell和子shell有效
    [root@localhost ~]# export back_dir=/home/backup
    [root@localhost ~]# test_dir=/opt
    [root@localhost ~]# export test_dir
    [root@localhost ~]# echo $back_dir
    /home/backup
    [root@localhost ~]# echo $test_dir
    /opt
    [root@localhost ~]# env
    XDG_SESSION_ID=8
    HOSTNAME=localhost.localdomain
    SELINUX_ROLE_REQUESTED=
    HOME=/root
    back_dir=/home/backup
    [root@localhost ~]# unset back_dir   //取消环境变量
    [root@localhost ~]# unset test_dir
    [root@localhost ~]# echo $test_dir   //环境变量已取消 无输出
    
    [root@localhost ~]# echo $back_dir
    
    [root@localhost ~]# 
    
    
    展开全文
  • linux学习 变量类型

    2017-07-06 15:57:44
    变量类型 python中的常用基本命令 1.len(变量名) ##计算长度  cmp(变量1/字符串,变量2/字符串) ##长度比较  type (变量名) ##查看类型  id (变量名) ##查看内存位置  del 变量名 ##删除变量  变量名1,...

    变量类型

    python中的常用基本命令

    1.len(变量名) ##计算长度

     cmp(变量1/字符串,变量2/字符串)      ##长度比较

     type  (变量名)  ##查看类型

     id  (变量名)     ##查看内存位置

     del  变量名      ##删除变量

      变量名1,变量名2,...=内容1,内容2,...  

      ##作为元组赋值,但每个变量仍为对应的数据类型

    一、字符串

    <1>字符串定义

    1.变量名='内容'

      变量名="内容"

    如:s='helloworld'

    <2>功能

    1.索引,位置从零开始算起。格式:s[位置]

      可以通过索引实现复制:a=s[i],但此时a与s变量的对应在字符将指向同一位置

           字符相加:s[1]+s[i]+..s[n]

    2.切片(slice),可以从一个字符串中获取子字符串。使用以对方括号、起始偏移量--上界、终止偏移量--下界以及可选步长来定义一个分片,格式[start:end:step]。列举如下几种格式:

          [:]、[0:]  ##从字符串开始到结尾处,即整个字符串

           [start:]     ##从初始位置至结尾处

           [:end]             ##从字符串开始位置至end-1处

           [start:end]       ##从start 至end-1

           [start:end:step]       ##从start至end-1之间按步长截取字符   

    3.重复--同时输出多个相同字符串,如:

    >>> print  'hello'*10    ##同时输出10个'hello'字符串 

    hellohellohellohellohellohellohellohellohellohello

    一般用于同时输出多个分隔符,如:print '=='*10

    4.连接,如:print  'hello'+'world'

    5.判断某子字符串是否在某字符串中,返回结果为布尔值:false或true

           '子串' in  变量名

           '子串' in  '字符串'         ##子串是否在该字符串中

           '子串' not  in  '字符串'     ##子串不在字符串中

    <3>字符串的方法

    查看字符串的方法:可以输入变量名.[table] ,系统将会显示字符串的方法

                  dir (变量名) ##使用命令查看字符串的方法

    如:s.[tanle补齐]显示结果如下,具体意义见下文

    In [8]: help(s.)

    s.capitalize  s.find       s.isspace     s.partition   s.rstrip     s.translate

    s.center      s.format      s.istitle     s.replace     s.split       s.upper

    s.count       s.index       s.isupper     s.rfind       s.splitlines  s.zfill

    s.decode      s.isalnum     s.join        s.rindex      s.startswith 

    s.encode      s.isalpha     s.ljust       s.rjust       s.strip      

    s.endswith    s.isdigit     s.lower       s.rpartition  s.swapcase   

    s.expandtabs  s.islower    s.lstrip      s.rsplit      s.title      

    了解字符串的方法该如何使用,可以调用help命令,格式:help(变量名.方法)

    如:help(s.center)

    一般调用格式:变量名.方法(参数)

               '字符串'.方法(参数)

    1、s.center(width,[ fillchar])

     ##width--期望最终得到的字符串的总长度;[fillchar]--以什么字符填充,默认以空格填充

      ##以原有字符串为中心通过填充字符串返回长度为wdith的字符串

    2、s.isalum()  ##判断是否是字母与数字

     s.isalpha()   ##判断是否是字母,单个字母

     s.isdigit()    ##判断是否是数字

     s.isspace()   ##判断是否是空格

     s.islower() ##判断是否是小写

     s.istitle()     ##判断是否是标题,标题:首字母为大写,其与字母为小写

    ##以上判断结果均返回布尔值:False或者True

    3、s.replace('原字符串','新字符串',[count])

      ##用新的字符串替换掉原字符串,count为替换数目。默认将替换全部,指定count时将依次替换掉指定数目个字符串

    4、s.strip()     ##以字符串左右两边的空格为分隔符并移除分隔符

     s.lstrip()      ##以字符串左边的空格为分隔符并移除该分隔符

     s.rstrip()     ##以字符串右边的空格为分隔符并移除该分隔符

     s.strip('字符')      ##以指定字符为分隔符并移除该分隔符

    5、s.split('分隔方法')    ##以指定方法来分离字符串

     s.split()       ##默认以空格为分隔符进行分离

      ##此方法返回值为列表,下文将会详述

    6、s.endswith('字符')     ##查看字符串是否以指定字符为结尾,返回布尔值

     s.startswith('字符')     ##查看字符串是否以指定字符为开头

    7、s.join('字符串') ##以原有字符为分隔符将指定字符串进行分离

    8、s.lower()   ##将字符串内容全部转换为小写

     s.upper()     ##将字符串内容全部转换为大写

     s.swapcase()       ##将字符串内容大写变为小写、小写转换为大写

    二、列表

    <1>列表的定义,一般格式为:list=['内容1','内容2',...],列举如下几种常用格式

           list=[]    ##定义一个空列表

           list=['内容1',['内容',..],...]   

           ##列表内容也可以是列表,整个子列表将作为一部分

      In[94]: li=['hello','world',521]   ##定义一个列表,内容可为不同数据类型

      In[95]: type(li)  ##查看变量的类型

     Out[95]: list              ##变量类型为list--列表

    <2>功能

    1.索引,初始位置为0。

    当列表为一般格式时,索引方法同字符串:li[位置]

    当列表中包含子列表时,子列表以为内容的索引方法同上,子列表中的索引格式为:

           li[子列表在列表中的位置][子列表中内容的位置]

    2.切片

    3.连接功能:li[位置]+li[位置]

    注:因为列表中的内容可以是各种数据类型,但相加功能必须是同种数据类型,不同数据类型是不能进行运算的

    4.重复

    <3>列表的方法

    In [123]: li.

    li.append  li.extend   li.insert   li.remove  li.sort    

    li.count   li.index    li.pop      li.reverse 

    1、li.append('新加内容')      ##列表的添加,依次只能添加一个目标至原列表的最后

      li.insert(索引位置,内容)      ##在索引位置前插入新内容

    2、li.extend(内容) ##可添加多个内容,且内容类型也可以是列表

    3、li.remove('指定内容')      ##删除列表中第一个相应的内容

      li.remove(索引位置)       ##删除列表中指定的位置的内容

    4、li.pop()     ##弹出,默认为弹出列表的最后一个内容

      li.pop(索引位置)     ##弹出指定位置的内容

    5、列表的修改:li[索引位置]=修改内容         ##修改指定位置的内容

    6、li.count('内容')  ##返回该串在li列表中出现的次数

      li.index(内容)   ##查看该内容在列表中的位置

    三、元组tuple

    <1>元组的定义

      t=(内容1,内容2,...)    ##多个内容

     t=()            ##定义一个空元组

      t=(单个内容,)    ##定义单个内容,注意一定要加逗号,否则该变量将不是元组类型

      t=(内容1,[列表],...)  ##列表可以作为元组的一部分内容

      t=(内容,(内嵌元组),...)     ##元组内容也可以内嵌元组

    <2>元组的功能

    1.索引

    2.切片

    3.重复

    4.元组不能赋值,即不能修改

    当元组内容中有列表时,t=(内容1,[列表],...),此时元组值可变。实际改变的是列表值

    其索引格式t[元组位置][列表位置],元组中的列表仍具有列表的功能。

    <3>元组的方法

    1、t.count('内容')   ##查看内容出现的次数

    2、t.index('内容')   ##显示内容第一次出现的位置

    四、集合set是无序的、不重复的。所以不可对集合进行赋值

    <1>集合的定义

    1.set={}  ##当集合为空时,其类型为dict(字典类型)

    2.set={内容1,(元组),...}   

      ##可以内嵌元组,但是注意不内嵌列表。因为列表不可哈希,列表可变,不能一一找到对应的内容

    <2>方法

    定义集合s1,s2

    (1)

    1.交集:   s1.intersection(s2)

           s1.intsersection_update(s2)    ##更新s1为其与s2的交集

           s1  & s2     ##交集

    2.并集:   s1.union(s2)

           s1  |  s2

    3.差集: s1.difference

           s1.difference_update     

           ##更新s1为其与s2的差集,可以print来查看更新后的s1

           s1  -  s2

    4.对等差分:s1.symmetric_difference

              s1.symmetric_difference_update     ##更新s1为其与s2的对等差分

           s1  ^  s2

     

    展开全文
  • Linux变量类型

    2019-10-08 21:38:31
    Shell 变量 定义变量时,变量名不加美元符号($,PHP语言中变量需要),如: ...注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。...不能使用bash里的关键字(可用help命令查看保...

    Shell 变量

    定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:

    your_name="runoob.com"

    注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:

    • 首个字符必须为字母(a-z,A-Z)。
    • 中间不能有空格,可以使用下划线(_)。
    • 不能使用标点符号。
    • 不能使用bash里的关键字(可用help命令查看保留关键字)。

    除了显式地直接赋值,还可以用语句给变量赋值,如:

    for file in  `ls /etc`

    以上语句将 /etc 下目录的文件名循环出来。


    使用变量

    使用一个定义过的变量,只要在变量名前面加美元符号即可,如:

    your_name="qinjx" echo $your_name
    echo ${your_name}

    变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,比如下面这种情况:

    for skill in Ada Coffe Action Java; do echo "I am good at ${skill}Script" done

    如果不给skill变量加花括号,写成echo "I am good at $skillScript",解释器就会把$skillScript当成一个变量(其值为空),代码执行结果就不是我们期望的样子了。

    推荐给所有变量加上花括号,这是个好的编程习惯。

    已定义的变量,可以被重新定义,如:

    your_name="tom" echo $your_name
    your_name="alibaba" echo $your_name

    这样写是合法的,但注意,第二次赋值的时候不能写$your_name="alibaba",使用变量的时候才加美元符($)。

    只读变量

    使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。

    下面的例子尝试更改只读变量,结果报错:

    #!/bin/bash myUrl="http://www.w3cschool.cc"  readonly myUrl
    myUrl="http://www.runoob.com"

    运行脚本,结果如下:

    /bin/sh: NAME:  This variable is read only.

    删除变量

    使用 unset 命令可以删除变量。语法:

    unset variable_name

    变量被删除后不能再次使用。unset 命令不能删除只读变量。

    实例

    #!/bin/sh myUrl="http://www.runoob.com" unset myUrl
    echo $myUrl

    以上实例执行将没有任何输出。

    变量类型

    运行shell时,会同时存在三种变量:

    • 1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
    • 2) 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
    • 3) shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

    转载于:https://www.cnblogs.com/xuyuQAQ/p/8419338.html

    展开全文
  • [1]总的declare声明变量类型 前面学过Shell是一个弱类型的语言,默认情况下给变量赋什么值都是字符串型,不能直接进行数值运算。declare命令可以明确进行变量类型的声明。declare [+/-] [变换选项] 变量名*-i声明为...

    到我的Linux笔记的29节,Tony老师的Shell变量课程学完了,从本节开始学习Shell运算符课程。

    [1]总的declare声明变量类型

    前面学过Shell是一个弱类型的语言,默认情况下给变量赋什么值都是字符串型,不能直接进行数值运算。declare命令可以明确进行变量类型的声明。

    declare [+/-] [变换选项] 变量名

    这里写图片描述

    *-i声明为整形

    [root@localhost ~]# aa=11
    [root@localhost ~]# bb=22
    [root@localhost ~]# cc=$aa+$bb
    [root@localhost ~]# echo $cc
    11+22
    [root@localhost ~]# declare -i cc=$aa+$bb
    [root@localhost ~]# echo $cc
    33

    可以看到上面的变量cc声明为整形了,但aa和bb仍然是数值型,即便这样也可以正确进行数值运算,这是和其它语言不同的。

    *-p查看类型

    [root@localhost ~]# declare -p cc
    declare -i cc="33"
    [root@localhost ~]# declare -p aa
    declare -- aa="11"

    [2]声明数组变量

    数组在Shell编程中用的不多,Shell编程中基本不用考虑效率,多数时候就是给管理员一个人用的,往往实现功能优先。

    [root@localhost ~]# ary[0]=a0
    [root@localhost ~]# ary[1]=a1
    [root@localhost ~]# declare -a ary[2]=a2
    [root@localhost ~]# ary[3]=a3

    在Shell中只要用了下标,可以不用写declare -a声明,上面四条都是成功的。

    [3]查看数组

    和查看普通变量的方式有所不同,需要用大括号将变量括起来。
    使用明确下标:

    [root@localhost ~]# echo ${ary[1]}
    a1

    不使用下标,相当于下标为0:

    [root@localhost ~]# echo ${ary}
    a0

    查看数组中所有元素:

    [root@localhost ~]# echo ${ary[*]}
    a0 a1 a2 a3

    数组中的元素没有被单独保存成一个变量:

    [root@localhost ~]# declare -p ary[3]
    -bash: declare: ary[3]: not found
    [root@localhost ~]# declare -p ary
    declare -a ary='([0]="a0" [1]="a1" [2]="a2" [3]="a3")'

    而是可以用-p去查看整个数组(不加下标)。

    [4]声明环境变量

    之前学习过用export去声明环境变量:

    export 变量名=变量值

    这只是简化命令,它实际上就是:

    declare -x 变量名=变量值

    如把aa转成环境变量并测试:

    [root@localhost ~]# declare -p aa
    declare -- aa="11"
    [root@localhost ~]# export aa
    [root@localhost ~]# declare -p aa
    declare -x aa="11"

    [5]声明变量只读属性(不常用)

    [root@localhost ~]# declare -r aa
    [root@localhost ~]# declare -p aa
    declare -rx aa="11"

    拥有只读属性的变量是不可以写的:

    [root@localhost ~]# aa="12"
    -bash: aa: readonly variable

    也不可以用unset删除只读属性的变量:

    [root@localhost ~]# unset aa
    -bash: unset: aa: cannot unset: readonly variable

    甚至也不能用+号把只读属性取消:

    [root@localhost ~]# declare +r aa
    -bash: declare: aa: readonly variable

    也就是说一旦设置成只读,就完全不能对它操作了。好在这个变量只是临时生效的,系统一旦重启就消失了。但如果把这条命令写到环境变量配置文件中或者某个开机自动执行的文件中,它就会一直生效了,除非再去修改那个文件。

    [6]-p查询变量的属性

    如果后面不加具体的变量,就会查询系统中所有生效的变量的属性。
    这里写图片描述

    展开全文
  • 【单选题】linux 操作系统自诞生至今,有数十万的程序开发人员参与它的开发和完善过程中,如今linux已发展成为一个成熟,稳定的操作系统。从以下选现中选出关于linux特点完全正确的一项。【多选题】通风机按工作原理可...
  • Linux bash 变量

    2020-08-06 16:52:45
    查看变量2. 设置变量3. 高级的变量3.1 作用域3.2 变量的类型4. 查看变量 1. 查看变量 说来羞愧,主用Linux半年了,之前用的也是苹果竟然现在才知道使用echo查看bash中的变量。 好不容易知道echo这个指令,先用man...
  • Linux环境变量

    2020-02-09 16:07:45
    变量是计算机系统用于保存可变值的数据类型,我们可以直接通过变量名称来提取到对应的变量值。在 Linux 系统中**,环境变量是用来定义系统运行环境的一些参数**,Linux 系统中环境变量的名称一般都是大写的,这是一...
  • linux shell变量

    2020-12-20 18:56:37
    类型: 自定义变量 环境变量(Path) 特殊变量 自定义变量命名规范 变量名称规范: 1、命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。 2、中间不能有空格,可以使用下划线(_)。 3、不能使用标点...
  • Linux环境变量的设置和查看方法 1. 常用的环境变量:  PATH 决定了shell将到哪些目录中寻找命令或程序  HOME 当前用户主目录  HISTSIZE 历史记录数  LOGNAME 当前用户的登录名  HOSTNAME 指主机的名称 ...
  • 环境变量都有哪些类型环境变量有很多种类一般有两种划分形式按变量的周期划分 A.永久变量: 通过修改配置文件,配置之后变量永久生效 B.临时性变量: 使用命令如export等命令设置,设置之后马上生效。当关闭shell的...
  • Linux环境变量管理

    2020-11-03 11:25:20
    环境变量 在shell环境中,存在两种类型的环境变量,全局环境...使用set、env、printenv可以查看环境变量的设置,其中env与printenv只能查看系统全局变量,set不仅可以看到局部变量,还可以自定义局部环境变量。 ...
  • 变量是计算机系统用于保存可变值的数据类型,我们可以直接通过变量名称来提取到对应的变量值。在 Linux 系统中,环境变量是用来...我们可以使用 env 命令来查看Linux 系统中所有的环境变量,执行命令如下:[root...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 374
精华内容 149
关键字:

linux查看变量类型

linux 订阅