Go to main content

Oracle® ZFS Storage Appliance 管理指南,发行版 OS8.8.x

退出打印视图

更新时间: 2021 年 8 月
 
 

使用 Prop 函数

在大多数情况下,getprop 函数返回相同的值。这两个函数之间的区别在于,get 函数并非始终返回可编写脚本的值,而 prop 函数始终返回可编写脚本的值。可编写脚本的值对于每种类型的属性都具有相同的稳定形式。

  1. 返回当前节点上下文中属性的可编写脚本的值。

    对于大多数属性,getprop 函数返回相同的值,如 version 属性的以下示例中所示:

    > ls
    version = 2019.02.28,1-0
    > script get('version')
    '2019.02.28,1-0'
    > script prop('version')
    '2019.02.28,1-0'

    date 属性的以下示例中,请注意 get 函数返回的值与 prop 函数返回的可编写脚本的值之间的差异:

    > ls
    date = 2019-2-28 10:43:11
    > script get('date')
    Tue Feb 28 2019 10:43:11 GMT+0000 (UTC) (Date object)
    > script prop('date')
    '2019-02-28T10:43:11Z'
  2. 将当前节点上下文中属性的值设置为可编写脚本的值。

    prop 函数调用中包含一个值,以设置已命名属性的值。如果给定的值不是该属性的指定可编写脚本的形式,则会输出错误消息。否则,prop 函数的设置形式不会返回任何值。

    > ls
    date = 2019-2-28 10:43:11
    > script prop('date', '2019-03-09T12:34:56Z')
    > ls
    date = 2019-3-09 12:34:56
    > script prop('date')
    '2019-03-09T12:34:56Z'
  3. 设置布尔型属性的值。

    由于 prop 函数可以用于返回属性值,也可以用于设置属性值,因此 prop 函数无法如 set 函数一样在不指定值的情况下将布尔型属性设置为 true。

    以下示例显示了如何使用 set 函数的简短形式将布尔型属性设置为值 true

    set('booleanproperty')

    prop 函数的简短形式返回布尔型属性值 truefalse

    script prop('booleanproperty')
    'false'

    要使用 prop 函数设置布尔型属性的值,必须提供值:

    script prop('booleanproperty', true)
    script prop('booleanproperty')
    'true'
  4. 设置 List(列表)属性的值。

    要为具有 List(列表)修饰符的属性设置可编写脚本的值,必须指定值数组:

    > ls
    stringlist = a,string,list
    > script prop('stringlist', ['a', 'b', 'c', 'd'])
    > script prop('stringlist')
    ['a', 'b', 'c', 'd']
    > ls
    stringlist = a,b,c,d

    要为 List(列表)属性指定单个值,请将单个值指定为大小为一的数组:

    > ls
    stringlist = a,string,list
    > script prop('stringlist', ['a'])
    > script prop('stringlist')
    ['a']
    > ls
    stringlist = a

    要为具有 Empty(空)或 List(列表)修饰符的属性指定空值,请指定空数组:

    > ls
    emptystringlist = a,string,list
    > script prop('emptystringlist', [])
    > script prop('emptystringlist')
    []
    > ls
    emptystringlist =