{"version":1,"pages":[{"id":"-LgcWXB4T3r6xufiHH2J","title":"第一部分 初见shell","pathname":"/advanced-bash-scripting-guide-in-chinese","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"}]},{"id":"-LgcWXB97y_tOq8POAR_","title":"1. 为什么使用shell编程","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part1/01_shell_programming","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第一部分 初见shell"}]},{"id":"-LgcWXBAD2oqOldLl1KM","title":"2. 和Sha-Bang(#!)一起出发","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part1/02_starting_off_with_a_sha_bang","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第一部分 初见shell"}]},{"id":"-LgcWXBBrzDmVFHKP928","title":"2.1 调用一个脚本","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part1/02_starting_off_with_a_sha_bang/02_1_invoking_the_script","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第一部分 初见shell"},{"label":"2. 和Sha-Bang(#!)一起出发"}]},{"id":"-LgcWXBCaH4VNRn7aao_","title":"2.2 牛刀小试","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part1/02_starting_off_with_a_sha_bang/02_2_preliminary_exercises","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第一部分 初见shell"},{"label":"2. 和Sha-Bang(#!)一起出发"}]},{"id":"-LgcWXBDIarOlW9-RZUo","title":"第二部分 shell基础","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"}]},{"id":"-LgcWXBEHRirnfDNyH1L","title":"3. 特殊字符","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/03_special_characters","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"}]},{"id":"-LgcWXBF7-XknAE9YnJs","title":"4. 变量与参数","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/04_introduction_to_variables_and_parameters","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"}]},{"id":"-LgcWXBGQC5aoeE7CV9x","title":"4.1 变量替换","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/04_introduction_to_variables_and_parameters/04_1_variable_substitution","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"},{"label":"4. 变量与参数"}]},{"id":"-LgcWXBHWeX-a158tPk5","title":"4.2 变量赋值","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/04_introduction_to_variables_and_parameters/04_2_variable_assignment","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"},{"label":"4. 变量与参数"}]},{"id":"-LgcWXBKtm6z-T7Ln1z7","title":"4.3 Bash弱类型变量","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/04_introduction_to_variables_and_parameters/04_3_bash_variables_are_untyped","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"},{"label":"4. 变量与参数"}]},{"id":"-LgcWXBM_kMQIIP5uZrM","title":"4.4 特殊变量类型","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/04_introduction_to_variables_and_parameters/04_4_special_variable_types","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"},{"label":"4. 变量与参数"}]},{"id":"-LgcWXBNYrm-EOoP7g0M","title":"5. 引用","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/05_quoting","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"}]},{"id":"-LgcWXBO3RLkyAuz3flj","title":"5.1 引用变量","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/05_quoting/05_1_quoting_variables","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"},{"label":"5. 引用"}]},{"id":"-LgcWXBPmiC240xvofAP","title":"5.2 转义","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/05_quoting/05_2_escaping","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"},{"label":"5. 引用"}]},{"id":"-LgcWXBQ3nMLLsaneWxb","title":"6. 退出与退出状态","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/06_exit_and_exit_status","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"}]},{"id":"-LgcWXBRwA41kicmaDEf","title":"7. 测试","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/07_tests","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"}]},{"id":"-LgcWXBSPGyDZxhaFtez","title":"7.1 测试结构","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/07_tests/07_1_test_constructs","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"},{"label":"7. 测试"}]},{"id":"-LgcWXBTI_CJDyJWVbvH","title":"7.2 文件测试操作","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/07_tests/07_2_file_test_operators","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"},{"label":"7. 测试"}]},{"id":"-LgcWXBUtoM7copVws0V","title":"7.3 其他比较操作","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/07_tests/07_3_other_comparison_operators","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"},{"label":"7. 测试"}]},{"id":"-LgcWXBV1Ah8RvsX_VDw","title":"7.4 嵌套 if/then 条件测试","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/07_tests/07_4_nested_if_then_condition_tests","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"},{"label":"7. 测试"}]},{"id":"-LgcWXBWTQhQoEj65SMr","title":"7.5 牛刀小试","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/07_tests/07_5_testing_your_knowledge_of_tests","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"},{"label":"7. 测试"}]},{"id":"-LgcWXBXLga133Es5RcZ","title":"8. 运算符相关话题","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/08_operations_and_related_topics","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"}]},{"id":"-LgcWXBYppDmHxaTbHNL","title":"8.1 运算符","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/08_operations_and_related_topics/08_1_operators","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"},{"label":"8. 运算符相关话题"}]},{"id":"-LgcWXBZrYKEbR1Z2V7M","title":"8.2 数字常量","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/08_operations_and_related_topics/08_2_numerical_constants","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"},{"label":"8. 运算符相关话题"}]},{"id":"-LgcWXB_oDNggbU4F8TZ","title":"8.3 双圆括号结构","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/08_operations_and_related_topics/08_3_the_double_parentheses_construct","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"},{"label":"8. 运算符相关话题"}]},{"id":"-LgcWXBa0zu8a01RbZCA","title":"8.4 运算符优先级","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part2/08_operations_and_related_topics/08_4_operator_precedence","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第二部分 shell基础"},{"label":"8. 运算符相关话题"}]},{"id":"-LgcWXBbBdextWWo13Gr","title":"第三部分 shell进阶","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"}]},{"id":"-Lp9w_k2ziVCT4DlvaXw","title":"9. 换个角度看变量","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/09_another_look_at_variables","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"}]},{"id":"-LqIK9igM58GLs4nY77_","title":"9.1 内部变量","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/09_another_look_at_variables/09_1_internal_variables","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"},{"label":"9. 换个角度看变量"}]},{"id":"-LqN3ouah9dOky7cgl5b","title":"9.2 变量类型标注：declare 与 typeset","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/09_another_look_at_variables/09_2_typing_variables_declare_or_typeset","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"},{"label":"9. 换个角度看变量"}]},{"id":"-LqN3oubEpiEkZ6oeTlW","title":"9.2.1 declare 的另类用法","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/09_another_look_at_variables/09_2_typing_variables_declare_or_typeset/09_2_1_another_use_for_declare","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"},{"label":"9. 换个角度看变量"},{"label":"9.2 变量类型标注：declare 与 typeset"}]},{"id":"-LuVi-IltwQXbRa8Sp1U","title":"9.3 $RANDOM：生成随机数","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/09_another_look_at_variables/09_3_random_generate_random_integer","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"},{"label":"9. 换个角度看变量"}]},{"id":"-LgcWXBgDUDkr8GhOovM","title":"10. 变量处理","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/10_manipulating_variables","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"}]},{"id":"-LgcWXBhjWbaJ5VN3uma","title":"10.1 字符串处理","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/10_manipulating_variables/10_1_manipulating_strings","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"},{"label":"10. 变量处理"}]},{"id":"-LgcWXBibfqRJfTk6LDX","title":"10.1.1 使用 awk 处理字符串","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/10_manipulating_variables/10_1_manipulating_strings/10_1_1_manipulating_strings_using_awk","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"},{"label":"10. 变量处理"},{"label":"10.1 字符串处理"}]},{"id":"-LgcWXBjyNenWf3wzTxK","title":"10.1.2 参考资料","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/10_manipulating_variables/10_1_manipulating_strings/10_1_2_further_reference","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"},{"label":"10. 变量处理"},{"label":"10.1 字符串处理"}]},{"id":"-LgcWXBkpNUZ1Nj1gwvU","title":"10.2 参数替换","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/10_manipulating_variables/10_2_parameter_substitution","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"},{"label":"10. 变量处理"}]},{"id":"-LgcWXBldIs7IzJ5K86G","title":"11. 循环与分支","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/11_loops_and_branches","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"}]},{"id":"-LgcWXBmt-OXPRwIMi4p","title":"11.1 循环","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/11_loops_and_branches/11_1_loops","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"},{"label":"11. 循环与分支"}]},{"id":"-LgcWXBnxjXfCXpexdnr","title":"11.2 嵌套循环","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/11_loops_and_branches/11_2_nested_loops","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"},{"label":"11. 循环与分支"}]},{"id":"-LgcWXBo1KbrEc6n1ROJ","title":"11.3 循环控制","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/11_loops_and_branches/11_3_loop_control","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"},{"label":"11. 循环与分支"}]},{"id":"-LgcWXBprpZI8Z8be1Ky","title":"11.4 测试与分支","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/11_loops_and_branches/11_4_testing_and_branching","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"},{"label":"11. 循环与分支"}]},{"id":"-LgcWXBqQ1eJgv8D-EiK","title":"12. 命令替换","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/12_command_substitution","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"}]},{"id":"-LgcWXBrh__1VB2Di9F0","title":"13. 算术扩展","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/13_arithmetic_expansion","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"}]},{"id":"-LgcWXBssgdtdk52gC5L","title":"14. 休息时间","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part3/14_recess_time","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第三部分 shell进阶"}]},{"id":"-LxtZwa9F_wu6uAwvsCX","title":"第四部分 命令","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part4","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"}]},{"id":"-M6odeQhjK5TcT4n2sfI","title":"15. 内建命令","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part4/15_internal_commands_and_builtins","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第四部分 命令"}]},{"id":"O0bkWiHiUD6YkGw5XJnW","title":"15.1 任务控制命令","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part4/15_internal_commands_and_builtins/15_1_job_control_commands","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第四部分 命令"},{"label":"15. 内建命令"}]},{"id":"tI9Pk0o6iVPJH9L3Kret","title":"16. 外部筛选器，任务及命令","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part4/16_external_filters_programs_and_commands","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第四部分 命令"}]},{"id":"DWi2jL1UX2yfxtnq7LZ2","title":"16.1 基础命令","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part4/16_external_filters_programs_and_commands/16_1_basic_commands","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第四部分 命令"},{"label":"16. 外部筛选器，任务及命令"}]},{"id":"dqdESMM5q7FxAVSophPH","title":"16.2 复杂命令","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part4/16_external_filters_programs_and_commands/16_2_complex_commands","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第四部分 命令"},{"label":"16. 外部筛选器，任务及命令"}]},{"id":"9aN2MPpel2tV5dUwochS","title":"16.3 时间/日期命令","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part4/16_external_filters_programs_and_commands/16_3_time_date_commands","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第四部分 命令"},{"label":"16. 外部筛选器，任务及命令"}]},{"id":"DjKtoMgUxVtu61jPb8Lq","title":"16.4 文本处理命令","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part4/16_external_filters_programs_and_commands/16_4_text_processing_commands","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第四部分 命令"},{"label":"16. 外部筛选器，任务及命令"}]},{"id":"VPL6fqI1MnM2dzz2M1Og","title":"16.5 文件与归档命令","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part4/16_external_filters_programs_and_commands/16_5_file_archiving_commands","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第四部分 命令"},{"label":"16. 外部筛选器，任务及命令"}]},{"id":"ng5hOhgOTLqVuE2feInF","title":"16.6 通信命令","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part4/16_external_filters_programs_and_commands/16_6_communications_commands","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第四部分 命令"},{"label":"16. 外部筛选器，任务及命令"}]},{"id":"rRXX49InYI8mfbabWWYz","title":"16.7 终端控制命令","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part4/16_external_filters_programs_and_commands/16_7_terminal_control_commands","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第四部分 命令"},{"label":"16. 外部筛选器，任务及命令"}]},{"id":"GaJiZixy7hUW5XMRu6Xp","title":"16.8 数学命令","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part4/16_external_filters_programs_and_commands/16_8_math_commands","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第四部分 命令"},{"label":"16. 外部筛选器，任务及命令"}]},{"id":"vjbUxiT9DHau6yB7GVIL","title":"16.9 杂项命令","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part4/16_external_filters_programs_and_commands/16_9_miscellaneous_commands","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第四部分 命令"},{"label":"16. 外部筛选器，任务及命令"}]},{"id":"X5nUMvvUwlxmepVylcyn","title":"17. 系统与管理命令","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part4/17_system_and_administrative_commands","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第四部分 命令"}]},{"id":"7xaqfW1WVZE2IAEI6QG6","title":"17.1 分析一个系统脚本","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part4/17_system_and_administrative_commands/17_1_analyzing_a_system_script","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第四部分 命令"},{"label":"17. 系统与管理命令"}]},{"id":"-LgcWXBtfft2ZD9MMfCx","title":"第五部分 高级话题","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"}]},{"id":"-LqIXocd1fKQaVbfPgG1","title":"18.正则表达式","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/18_regular_expressions","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"}]},{"id":"-LqIXoceQ7r67rygQRbM","title":"18.1正则表达式简介","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/18_regular_expressions/18_1_a_brief_introduction_to_regular_expressions","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"18.正则表达式"}]},{"id":"-LqMVbo66Cxk7xP2ulyN","title":"18.2文件名替换","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/18_regular_expressions/18.2-wen-jian-ming-ti-huan","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"18.正则表达式"}]},{"id":"-LgcWXBuqA_HHHx1ZIgi","title":"19. 嵌入文档","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/19_here_documents","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"}]},{"id":"-LgcWXBv3GOuH5847wmL","title":"20. I/O 重定向","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/20_io_redirection","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"}]},{"id":"-LgcWXBwU0TqW9T7RoS2","title":"20.1 使用 exec","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/20_io_redirection/20_1_use_exec","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"20. I/O 重定向"}]},{"id":"-LgcWXBxjwbHZVda6kJ-","title":"20.2 重定向代码块","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/20_io_redirection/20_2_redirecting_code_blocks","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"20. I/O 重定向"}]},{"id":"-LgcWXBypQFTZ9U8g05o","title":"20.3 应用程序","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/20_io_redirection/20_3_applications","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"20. I/O 重定向"}]},{"id":"-LuDTqfUm_KvV_E-IPWe","title":"21. 子shell","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/21_subshells","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"}]},{"id":"-LgcWXBzaC2wu1myKWB_","title":"22. 限制模式的Shell","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/22_restricted_shells","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"}]},{"id":"-LgcWXC-9u58LDbQNu7C","title":"23. 进程替换","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/23_process_substitution","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"}]},{"id":"-LqIXocnbSjlE51YySCZ","title":"24. 函数","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/24_functions","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"}]},{"id":"-LqIXoco4gnAH5lcmkE6","title":"24.1 复杂函数和函数复杂性","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/24_functions/24_1_complex_functions_and_function_complexities","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"24. 函数"}]},{"id":"-LqIXocpdQeKHiXOxvIc","title":"24.2 局部变量","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/24_functions/24_2_local_variables","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"24. 函数"}]},{"id":"-LqIXocqqFp-8_zl-6k_","title":"24.3 不适用局部变量的递归","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/24_functions/24_3_recursion_without_local_variables","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"24. 函数"}]},{"id":"-LgcWXC1JBdjVdpSsuKF","title":"25. 别名","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/25_aliases","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"}]},{"id":"-LgcWXC0ZeWu2fL3fRxv","title":"26. 列表结构","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/26_list_constructs","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"}]},{"id":"-LqIXoct3bDbcUW7obwc","title":"27. 数组","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/27_arrays","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"}]},{"id":"-M6odeRDqNbsjDjOBjhC","title":"28. 间接引用","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/28_ivr","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"}]},{"id":"-M6odeREb3AY-bZLXTU5","title":"29. /dev 和 /proc","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/29_devproc","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"}]},{"id":"-M6odeRFqwmHT3EHRNje","title":"29.1 /dev","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/29_devproc/29_1_devref1","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"29. /dev 和 /proc"}]},{"id":"-M6odeRGK8acVLnoc69-","title":"29.2 /proc","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/29_devproc/29_2_procref1","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"29. /dev 和 /proc"}]},{"id":"-LqIXocuygLLEmGxoC9h","title":"30. 网络编程","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/30_network_programming","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"}]},{"id":"-M6odeRIMTQcHQFrwXOc","title":"32. 调试","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/32_debugging","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"}]},{"id":"-LqIXocvXF7mIU_5NYKf","title":"33. 选项","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/33_options","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"}]},{"id":"-LqMVboNOHCIMdL9Wbea","title":"34. 陷阱","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/34.-xian-jing","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"}]},{"id":"-M6odeRLbvvYm7e39kMm","title":"36. 杂项","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/36_miscellany","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"}]},{"id":"-M6odeRMNoZH-HJ290fY","title":"36.1 交互和非交互shell以及脚本","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/36_miscellany/36_1_interactive_and_non-interactive_shells_and_scripts","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"36. 杂项"}]},{"id":"-M6odeRNAqypbrkVYuBj","title":"36.2 shell wrappers","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/36_miscellany/36_2_shell_wrappers","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"36. 杂项"}]},{"id":"-M6odeRO-rV0GWqWZNPs","title":"36.3 测试和比较的其他方法","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/36_miscellany/36_3_tests_and_comparisons_alternatives","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"36. 杂项"}]},{"id":"-M6odeRPOnbyl81WjV29","title":"36.4 递归：调用自己的脚本","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/36_miscellany/36_4_recursion_a_script_calling_itself","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"36. 杂项"}]},{"id":"-M6odeRQXR0hofSr3442","title":"36.5 “彩色”的脚本","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/36_miscellany/36_5_colorizing_scripts","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"36. 杂项"}]},{"id":"-M75cHEPzpTxa7n4QYZf","title":"36.6 优化","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/36_miscellany/36_6_optimizations","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"36. 杂项"}]},{"id":"-M75cHEMhxaL-7EKOMD1","title":"36.7 其他技巧","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/36_miscellany/36_7_assorted_tips","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"36. 杂项"}]},{"id":"-M75cHEOuugYF3_DL2ju","title":"36.8 安全问题","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/36_miscellany/36_8_security_issues","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"36. 杂项"}]},{"id":"-M75cHENeHjOX3iiHBuf","title":"36.9 可移植性问题","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/36_miscellany/36_9_portability_issues","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"36. 杂项"}]},{"id":"-M75cHELDHaZCbWwv1Sk","title":"36.10 Windows系统下的脚本","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/part5/36_miscellany/36_10_shell_scripting_under_windows","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"第五部分 高级话题"},{"label":"36. 杂项"}]},{"id":"-LqIXocxnvsstDlnVS1k","title":"38. 后记","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/38_endnotes","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"}]},{"id":"-LqMVboPIRmO5VtHSbsL","title":"38.1 作者后记","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/38_endnotes/38_1_author_s_note","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"38. 后记"}]},{"id":"-LqIXoczq6ECwBqpr88Q","title":"38.2 关于作者","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/38_endnotes/38_2_about_the_author","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"38. 后记"}]},{"id":"-LqIXod-o8hvLJKq7jfW","title":"38.3 从哪里可以获得帮助","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/38_endnotes/38_3_where_to_go_for_help","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"38. 后记"}]},{"id":"-LqIXod0j92j38wo4mGJ","title":"38.4 用来制作这本书的工具","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/38_endnotes/38_4_tools_used_to_produce_this_book","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"38. 后记"}]},{"id":"-LqIXod19PnccZY85cgP","title":"38.5 致谢","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/38_endnotes/38_5_credits","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"38. 后记"}]},{"id":"-LqIXod23kdpYCF5U_zZ","title":"38.6 免责声明","pathname":"/advanced-bash-scripting-guide-in-chinese/zheng-wen/38_endnotes/38_6_disclaimer","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"正文"},{"label":"38. 后记"}]},{"id":"7jXR59NlM3O2HTVSo0Aw","title":"参考文献","pathname":"/advanced-bash-scripting-guide-in-chinese/fu-lu-ji-suo-yin/can-kao-wen-xian","siteSpaceId":"sitesp_STTnR","description":"","breadcrumbs":[{"label":"附录及索引"}]}]}