From c6937714c04a99ce70537ba79db2718648c6c55c Mon Sep 17 00:00:00 2001 From: ZhuangZhu-74 <49544524+ZhuangZhu-74@users.noreply.github.com> Date: Thu, 23 May 2019 17:44:34 +0800 Subject: [PATCH] update printf.md (#108) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update date.md 为date命令添加用法 * Update printf.md 修改了 ‘一个字面上的反斜杠字符’的markdown表示以便显示两个反斜杠; 修改了一个错字; 增加了一些实例; --- command/printf.md | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/command/printf.md b/command/printf.md index d5f01165d85..d487ebd6593 100644 --- a/command/printf.md +++ b/command/printf.md @@ -45,7 +45,7 @@ printf(选项)(参数) * \r 回车(Carriage return) * \t 水平制表符 * \v 垂直制表符 -* \\ 一个字面上的反斜杠字符 +* \\\\ 一个字面上的反斜杠字符 * \ddd 表示1到3位数八进制值的字符,仅在格式字符串中有效 * \0ddd 表示1到3位的八进制值字符 @@ -64,8 +64,30 @@ printf "%-5s %-10s %-4.2f\n" 02 Jack 89.2345 printf "%-5s %-10s %-4.2f\n" 03 Jeff 98.4323 ``` -* %-5s 格式为左对齐且宽度为5的字符串代替(-表示左对齐),不使用则是又对齐。 +* %-5s 格式为左对齐且宽度为5的字符串代替(-表示左对齐),不使用则是右对齐。 * %-4.2f 格式为左对齐宽度为4,保留两位小数。 +### 按行打印数组和关联数组的下标及值 - \ No newline at end of file +```shell +#!/bin/bash +#声明数组(array)可以不加 'declare -a' 或 'local -a'(在函数内声明的局部变量) +array1=('line1' 'line2') +#声明关联数组(也就是字典)必须加 'declare -A' 或 'local -A'(在函数内声明的局部变量) +declare -A assoc_array1=(['key1']='value1' ['key2']='value2') + +printf "%s\n" ${array1[@]} +#line1 +#line2 +printf "%s\n" ${!array1[@]} +#0 +#1 +printf "%s\n" ${assoc_array1[@]} +#value2 +#value1 +printf "%s\n" ${!assoc_array1[@]} +#key2 +#key1 +``` + +