
# 旧输出参数cli-output-rows，cli-output-cols，cli-output-num使用时的注意事项有哪些？
当命令中使用了"--cli-output-rows"，"--cli-output-cols"，"--cli-output-num"时，将会以table格式输出。使用table输出有利于用户对返回值中的关键信息进行提取。使用时各参数的功能如下：
- --cli-output-cols：table输出时，指定需要打印的字段；
- --cli-output-rows：table输出时，指定需要打印的层级。例如希望表格化一个json结构体，则参数值填写该json结构体的名称。
- --cli-output-num：table输出时，是否打印表格的行号。取值为true或false，默认为true。
了解以上选项的使用方式，可参考[旧输出参数cli-output-rows，cli-output-cols，cli-output-num如何使用](https://support.huaweicloud.com/hcli_faq/hcli_23_005_01.html)。
使用如上参数进行table输出时需要注意如下事项：
- "--cli-output-cols"与"--cli-output-rows"可单独使用，也可组合使用：
  - 单独使用"--cli-output-rows"： 在命令中单独使用"--cli-output-rows"传入调用结果中某json结构体的名称时，各层级之间以"."分隔，目标json结构体的内容必须为数组类型，KooCLI会将该json结构体的内容以表格化输出。例如执行命令"hcloud configure list --cli-output-rows=profiles"，会以表格输出所有配置项信息。若"--cli-output-rows"中指定的json结构体的内容不是数组类型，会提示如下错误：
    \[CLI_ERROR\]table输出错误:缺少cli-output-cols参数
    
  
  - 单独使用"--cli-output-cols"： 参数"--cli-output-cols"中可传入调用结果的json结构体根元素的字段，多个字段之间以","分隔。例如：执行命令"hcloud configure show --cli-profile=${profileName} --cli-output-cols=accessKeyId"，会以表格化方式输出指定配置项中的accessKeyId信息。单独使用"--cli-output-cols"时只能指定json结构体根元素的字段，否则会提示如下错误：
    \[USE_ERROR\]参数cli-output-cols中字段\*对应的值为null
    
  
  - 组合使用"--cli-output-cols"与"--cli-output-rows"： 当命令中同时使用"--cli-output-rows"和"--cli-output-cols"时，选项"--cli-output-rows"用来指定需要打印的层级，选项"--cli-output-cols"用来指定该层级中需要打印的字段。例如：执行命令"hcloud configure list --cli-output-rows=profiles --cli-output-cols=accessKeyId"，将以table方式输出所有配置项中的accessKeyId信息；
    "--cli-output-rows"的参数值中可使用"\[n\]"或"\[m:n\]"指定其中要打印的数组元素的索引位。指定"\[n\]"时会打印索引为n的值；指定"\[m:n\]"时会打印原数据m \~（n-1）索引位置的值。例如执行命令"hcloud configure list --cli-output-rows=profiles\[0:2\] --cli-output-cols=accessKeyId"，则以table方式输出配置项数组中索引位为0和1的配置项中的accessKeyId信息，组合使用"--cli-output-cols"与"--cli-output-rows"时还需注意如下事项：
    - 若"--cli-output-rows"中传入的数组的索引值是"\[m:n\]"，当n超出其数组长度时，会根据实际数据打印至其最大索引位。
    
    - 若"--cli-output-rows"中传入的数组的索引值是"\[n\]"，当n超出其数组长度时，会提示数组索引越界，如下： \[USE_ERROR\]参数cli-output-rows中的字段\*输入错误:数组索引越界,数组长度为\*,输入的索引为\*
      
    
    - 组合使用"--cli-output-cols"与"--cli-output-rows"时，"--cli-output-rows"中的参数不要求一定是数组类型的参数，能指定到具体的层级即可。
     
   
- 单独使用"--cli-output-num"时，无table输出效果。
- 在同一命令中，"--cli-output-rows"，"--cli-output-cols"，"--cli-output-num"不可与"--cli-json-filter"同时使用，会因无法判断输出格式而导致错误。
 
