Bash 技能评估通关手册:linkedin-skill-assessments-quizzes 94 道高频考题精解
文档教程知识库教育【免费下载链接】linkedin-skill-assessments-quizzesFull reference of LinkedIn answers 2024 for skill assessments (aws-lambda, rest-api, javascript, react, git, html, jquery, mongodb, java, Go, python, machine-learning, power-point) linkedin excel test lösungen, linkedin machine learning test LinkedIn test questions and answers项目地址https://gitcode.com/GitHub_Trending/li/linkedin-skill-assessments-quizzes点击查看免费下载本指南以开源仓库 linkedin-skill-assessments-quizzes 中的 Bash 中文题库对应英文原版 bash-quiz.md为骨架系统梳理其中 94 道高频考题按「变量与参数展开、重定向与数据流、文本处理三剑客、条件与循环、脚本编写与运行环境、权限与系统管理」六大知识域重新组织并逐题精解。读完本文你将能够独立推演 Bash 中波浪号/参数展开、标准流重定向、sed/awk/find 组合、条件与循环语义等核心考点的运行结果并把这些结论直接用于日常命令行与 Shell 脚本实战。仓库 README.md 的 Bash 行记录了该题库共 94 题、94 个答案并提供西班牙语、意大利语、法语、中文等翻译版本如 bash-quiz-es.md、bash-quiz-it.md、bash-quiz-fr.md自 2023 年 12 月起 LinkedIn 技能评估已停止开放本仓库成为系统自测 Bash 水平的可靠参考。一、变量、参数与展开Bash 的变量与参数展开是出现频率最高的考点涉及引号语义、特殊变量、算术展开、模式匹配等多个层面。波浪号展开与带空格的路径Q1三种复制方法中只有一种能递归地把主目录下名为 photo dir 的目录复制到 /backupscp -R ~/photo dir /backups # method1引号把 ~ 变成普通字符不展开 cp -R ~/photo dir /backups # method2~ 后紧跟引号同样不展开 cp -R ~/photo dir /backups # method3正确正确答案只有 method 3 会先把~展开为用户主目录再附加带空格的目录名。原因在于波浪号展开只在~位于词首且后面紧跟路径分隔符或词尾时发生~/中~处于引号内成为字面量~这种「波浪号紧贴引号」的写法同样无法触发展开。若需完全显式可用$HOME/photo dir这也是题目给出的第四个选项所暗示的替代方案。Q22假设当前工作目录就是主目录有 A–E 五个候选命令A. /home/demo.sh B. ./demo.sh C. ~/demo.sh D. bash /home/demo.sh E. bash demo.sh正确答案是 B、C、E。./demo.sh显式以相对路径执行~/demo.sh依赖波浪号展开为主目录路径bash demo.sh由解释器显式读取脚本文件。A 把脚本误写成/home/demo.sh这种不存在的绝对路径D 中/home/demo.sh同样不成立。该题同时印证了 Q1 的波浪号展开规则与 Q20/Q90 的脚本执行方式。参数展开Parameter ExpansionQ18给定VAR/var/www/html/website.com/html/执行echo ${VAR#*/html}正确答案是/website.com/html/。${parameter#word}是 POSIX 规定的「删除最小前缀模式」Remove Smallest Prefix Patternword先被展开为模式再从参数值开头删除与该模式匹配的最短前缀。*/html匹配到第一个/html即/var/www/html删除后余下/website.com/html/。类似地${VAR#?}会删除第一个字符若改用##如 Q76则删除最长前缀。Q42给定VARThis old man came rolling执行echo ${VAR//man/rolling}正确答案是This old rolling came rolling。${var//pattern/replacement}会全局替换所有匹配man的子串不带/前缀的${var/pattern/repl}只替换第一处。原文中的 man 被替换为 rolling第一个单词内部的 man 也不可避免地被命中这正是全局替换的典型陷阱。Q66给定VARHello World!执行echo ${VAR:6:5}正确答案是World。${var:offset:length}是子串提取从下标 6 开始取 5 个字符。Hello World!中下标 0–4 是Hello下标 5 是空格下标 6–10 是World因此取到World不包含!因为 length 限制为 5。Q85给定VARunited states执行echo ${VAR^}正确答案是United states。${var^}把参数值的第一个字符转为大写${var^^}才把所有字符转大写${var,}/${var,,}则相应转为小写。原题中VAR为united states首字符u变为U其余保持不变因此得到United states。Q16执行txtPenguins; [[ $txt ~ [a-z]{8} ]]; echo $?正确答案是1false因为变量txt的值Penguins首字母大写并不包含八个介于 a 到 z 之间的小写字母。[[ ~ ]]执行扩展正则匹配[a-z]{8}要求连续 8 个小写字母Penguins中enguins只有 7 个小写字符故匹配失败退出码为 1。题目的干扰项「0因为包含八个字母」混淆了「八个字符」与「八个小写字母」。Q76结合扩展通配extglob与参数展开去除首尾空白shopt -s extglob VAR This is... a string of characters VAR${VAR##([[:space:]])}; VAR${VAR%%([[:space:]])}; echo $VAR正确答案是preThis is... a string of characters/pre此处pre只是题目排版标记并非实际输出。shopt -s extglob开启扩展通配${VAR##([[:space:]])}删除与([[:space:]])一个或多个空白字符匹配的最长前缀${VAR%%([[:space:]])}删除匹配的最长后缀二者结合实现字符串 trim。注意This is...内部的单个空格被保留因为##/%%只作用于边界。Q30间接展开indirect expansion#!/bin/bash fnamejohn johnthomas echo ${!fname}正确答案是thomas。${!var}先把fname展开为john再以john作为变量名取它的值即thomas。这是 Bash 4 支持的间接引用indirect expansion常用于变量名动态拼接的场景。特殊变量与位置参数以下考题集中考察 Bash 内建特殊变量均可在仓库 bash-quiz-ch.md 中对应题号处找到原文Q29 / Q61检查「最后执行的命令是否成功」应看$?。$$是当前 Shell 的 PID$!是最近后台任务的 PID$是所有位置参数。Q57 / Q75 / Q89保存脚本运行 PID 的是$$。Q87保存「从命令行传递给脚本的参数个数」的是$#。Q58下列不是 test condition 常用特殊参数的是$-$-表示当前 Shell 的选项标志如hB而非退出码或参数$?、$、$0都常用于条件判断或取值。Q49 / Q64脚本中echo $1输出的是传递给脚本的第一个参数positional parameter而不是脚本名脚本名是$0、PID 或时间戳。Q35echo 1$1; echo 2$2中的$1、$2是位置参数由调用脚本时传入并非环境变量、脚本行号或进程号。Q92无效的 Bash 变量名是1var。变量名必须以字母或下划线开头$HOME、my_var合法!作为变量名也不合法它是历史展开/取反符号。Q53内部 Shell 变量如$USER、$$、$HOSTNAME等可以包含当前登录用户、当前运行进程、系统主机名等信息因此答案是「以上所有」。算术展开与精度Bash 的$(( ))只支持整数运算这是本组题目的核心考点Q79echo $((4/3))输出1。整数除法直接截断小数部分。Q37echo $(( 4 * 5 3 / 2 ))输出21。按运算符优先级3/2整数除法得14*5得20总和21选项中的21.5是小数陷阱。Q15四个候选中最精确的是var$(echo scale2; 10 / 8 | bc)。expr、(( ))、$(( ))都是整数运算10/81只有bc配合scale2能给出带两位小数的结果1.25。Q25(( $a $b )); echo $?的作用是测试$a与$b的值是否相等。(( ))是算术求值上下文比较相等返回 0真不相等返回非零随后$?反映该结果。引号语义与命令替换Q21要输出The date is: Sun Mar 24 12:30:06 CST 2019!正确写法是echo The date is: $(date)!。$( )命令替换在双引号内依然生效把date命令的输出嵌入字符串。Q67对于用户jon执行echo Hello, $(whoami)!输出Hello, $(whoami)!。单引号内不做任何展开变量、命令替换、通配均失效因此$(whoami)原样打印若改用双引号才会得到Hello, jon!。该题与 Q21 形成「双引号展开 vs 单引号字面」的对照。Q17把提示符改为HAL应使用export PS1HAL。PS1是主提示符变量SHELL变量不会被赋值改变当前 Shell且需要 export 才能在子进程可见。Q71默认提示符末尾的#表示当前用户以root身份操作普通用户的默认提示符以$结尾。变量存在性测试与[ ]/[[ ]]Q51正确「测试变量是否存在」的方法是if [ $myvar ]; then ...。原文档特别注明[ -n $myvar ]测试的是「变量有非空值」[ -a $myvar ]的-a在 test 语境是「且」而非「存在」题目问的是「变量存在」因此带引号的[ $myvar ]判定为更准确的答案。Q86按原样运行以下脚本#!/bin/bash if [ $foo bar ]; then echo foo is bar; fi # condition 1 if [[ $foo bar ]]; then echo foo is bar; fi # condition 2正确答案两个条件都会失败。$foo未定义condition 1 中[ $foo bar ]展开为[ bar ]报错[: : unary operator expectedcondition 2 中[[ ]]内未定义变量展开为空 bar不成立。原文档补充若先定义foobar两个条件都会成功。二、重定向与数据流标准流STDIN/STDOUT/STDERR与重定向操作符是本组考题的另一大重点。标准流基础概念Q33STDOUT 是 standard output标准输出的首字母缩写。Q39stdout 和 stderr 都是output streams输出流的实例它们不是普通文本文件、邮件文件或配置文件而是进程间/终端间传输数据的通道。重定向操作符与Q41与的区别是覆盖现有文件追加到现有文件末尾。两个操作符都默认作用于标准输出。Q94变体题再次确认同一结论覆盖 target file 的内容将内容追加到 target file 末尾。Q10mysql file.sql file.txt中 file.txt 保存的是MySQL 命令的 non-error output非错误输出即执行 SQL 语句后正常返回的结果SQL 源文件内容与错误信息都不会进入该文件。Q11变体题mysql file.sql out.txt中屏幕上没有输出因为 STDOUT 被重定向到 out.txt若要同时看到屏幕需使用tee或追加重定向。原文档标注该题为 Q10 的变体可对照学习。标准错误与 /dev/nullQ5find / -name finance.db 1results.txt 2/dev/null中被发送到/dev/null的是standard error 信息即 find 运行过程中显示的权限拒绝等错误。1重定向标准输出到 results.txt2重定向标准错误到黑洞设备。Q63能重定向标准错误流的是2文件描述符 2。1是标准输出3是自定义描述符同时重定向 stdout 与 stderr虽然也能捕获错误但题目问的是「重定向 standard error stream」的专用写法答案为2。Q70要打印主目录及子目录下所有.csv文件的完整路径、同时不显示错误应使用find $HOME -name \*.csv 2/dev/null。选项陷阱包括$USER_DIR未定义、1/dev/null会把文件名结果丢弃、HOME缺少$前缀。注意这里的\*.csv在双引号内\*为字面星号find 自行执行模式匹配。输入重定向与 cat 语义Q24cat in.txt out.txt执行后out.txt 的内容就是 in.txt 的内容。把 in.txt 作为 cat 的标准输入把 cat 的标准输出写入 out.txt实现文件到文件的复制。Q50cat test.txt test.txt的结果是test.txt 被覆盖并变空。Shell 在启动命令前先创建/截断输出文件此时源文件已被清空cat 读到的为空内容于是把空内容写回。这是「同一文件同时作为输入与输出」的经典陷阱。Q47cat file.txt | while IFS read -r line; do echo $line; done输出file.txt 的内容逐行原样回显。IFS防止 read 修剪首尾空白-r防止反斜杠被转义处理。Q81cat notes -的作用是从标准输入接受文本并放入 notes 文件。末尾的-表示继续从 stdin 读取输入完成后CtrlD内容写入文件它不是创建空文件、不是输出到屏幕也不执行追加。heredoc 与多行输入Q55 / Q73内容相同的两道变体题执行cat EOF ------------------------- This is line 1. This is line 2. This is line 3. ------------------------- EOF正确答案都是 C逐字输出 heredoc 内的全部内容包括分隔线与行首缩进。heredoc 把EOF ... EOF之间的内容原样作为 cat 的标准输入行首的空格属于内容的一部分不会被吃掉。干扰项 D 丢失了行首缩进A 丢弃了分隔线。subshell 与进程替换Q3要在 subshell子 Shell中运行命令语法是( command )。单括号中的命令在子 Shell 中执行其环境修改不会影响父 Shellsh command是调用解释器{ command; }是当前 Shell 的语句块(( command ))是算术求值。原文档补充说明 subshell 常用于捕获输出DIRCONTENTS$(ls -l); echo ${DIRCONTENTS}。Q48使用exec bash会用新 Shell 替换当前 Shell 进程不创建子进程当前进程的 PID 不变但解释器被替换source bash是在当前 Shell 中执行脚本new bash/open bash不是合法内建命令。文件描述符与 execQ60创建「可由脚本写入」的文件描述符用exec 3word.txt。exec 3file为当前 Shell 打开描述符 3 并关联到文件可写exec 4word.txt是只读输入描述符exec 31是把描述符 3 复制到标准输出用于保存/恢复 stdout。原文档中两个相同选项exec 3word.txt是原始题目的排版重复正确答案为可写重定向。Q74执行以下脚本后 out.txt 的内容#!/bin/bash echo 123446789 out.txt exec 3 out.txt # 以读写方式打开描述符 3指向 out.txt read -n 4 3 # 从描述符 3 读入 4 个字符1234 echo -n 5 3 # 不换行写入 5覆盖第 5 个字符位置 exec 3- # 关闭描述符 3正确答案是123456789。3 file以读写模式打开文件read -n 4读取前 4 个字符后文件偏移位于第 4 个字符之后echo -n 5把数字 5 写入当前位置覆盖原第 5 个字符4于是123446789变成123456789。管道、命令连接与后台Q45允许「即使一个命令失败也继续运行所有命令」的连接符是;。|是管道要求前一个成功才继续\是续行符是后台执行符。Q77在后台运行命令的 operator 是置于命令末尾!是取反/历史调用是逻辑与$是变量前缀。Q62for i in $(ls); do echo $i; done遍历当前目录中的每个文件并 echo 文件名命令替换把ls输出拆分为列表项目录也会被列出但该题判定侧重「文件」。Q2脚本for i in $(ls *.jpg); do mv $i ${i}.bak; done会失败因为for 循环在单词边界处拆分而Beach photo1.jpg含空格会被拆成Beach和photo1.jpg两个元素mv Beach ${Beach}.bak报错。正确做法是用find ... -print0 | while read -d 或 glob 数组。Q68通过压缩把目录复制到另一系统tar cvzf - /wwwdata | ssh root192.168.1.201 dd of/backup/wwwdata.tar.gz。tar cvzf -把压缩流写到 stdout经 ssh 管道传输后在远端用dd落盘。干扰项tar -ssh ...无此语法scp -r虽可复制但不涉及压缩题问「通过压缩」。三、文本处理三剑客sed、awk、findsed 与 awk 是本题库中代码量最大的一组考题find 负责文件检索。sed流编辑器Q6要永久删除textfile 中的空行sed -i /^$/d textfile。-i表示原地编辑/^$/匹配「行首紧跟行尾」即空行的正则d删除 pattern space 并立即开始下一循环。干扰项sed /^$/d textfile缺少-i只打印不修改sed -i s/^$// textfile只是把空行替换为空字符串效果上仍删除了内容但语义不同。原文档特别提醒BSD/macOS 的 sed 对-i要求后缀参数需写作sed -i -e /^$/d textfile.txt或加--兼容。Q82匹配五个字母的回文如 radar、rotor、tenetsed -E -n /^(.)(.)(.)\2\1$/p。-E启用扩展正则(.)是捕获组\1、\2反向引用^(.)(.)(.)\2\1$表示第 1、2、3 个字符任意第 4 个字符等于第 2 个第 5 个等于第 1 个即五字符回文-n配合p只打印匹配行。Q31图片题原图见 images/Q30/question.png在~/foo目录执行ll得到 file1.txt 至 file9.txt 等文件列表再执行ll | sed -e s,file,text,g。正确答案是 Dfile1.txt、file2.txt变成text1.txt、text2.txt其余行不变。s,file,text,g用逗号作分隔符避免与路径中的/冲突g标志对每行所有file子串全局替换.与..行不含file保持原样。awk字段与求和Q4echo 1 2 3 | awk {for (i1; iNF; i) ss$i};END {print s}输出6。NF是字段数3循环累加$1$2$3 123END 块打印总和。干扰项123是把字符串拼接3是字段数600无依据。Q7awk -F: /user1/{print $1 - $3 - $6} /etc/passwd会显示 user1 的username、UID 和 home directory用连字符分隔。-F:指定冒号作为字段分隔符/etc/passwd每行 7 个字段Username、Password、UID、GID、GECOS、Home directory、Command/shell$1是用户名$3是 UID$6是主目录。Q13从 textfile 提取第一列cat textfile | awk {print $1}。awk 默认以空白为分隔符print $1输出第一个字段。干扰项awk [print $1]语法错误中括号不是 awk 的调用语法awk textfile {print $1}把文件名当成了程序。Q65目录中有多个 .csv 文件要打印含 profit 的行中第三列for file in *.csv; do grep profit $file | awk -F, {print $3}; done。顺序必须是先 grep 过滤含 profit 的行再 awk 按逗号取第三列反过来先 awk 后 grep 会因第三列不含 profit 而漏掉目标利润值在第三列行内其他位置才有 profit 字样grep -F, profit的写法则把,当成搜索模式均不正确。find文件检索Q23获取树状结构中所有 .html 文件find . -name \*.html -print。反斜杠转义星号避免 Shell 通配展开——若当前目录恰好有 .html 文件*.html会被预先展开成具体文件名传入 find导致漏搜。-type html非法-type需要f、d等find *.html只搜当前层。Q32两个命令的区别A. find . -name %text% B. find . -name *text*正确答案A 搜索名称与%text%完全匹配的文件%对 find 是普通字符B 搜索名称包含 substring text的文件*是 find 的通配符。注意-name的参数由 Shell 或引号处理后交给 findfind 自己解释其中的*。Q40搜索当前目录及所有子目录中所有名为 sales.db 的文件find . -name sales.db。原文档注明题目有两个外观相同的正确选项可能是原始题目的排版笔误。Q93递归查找所有.txt文件并统计总行数只输出总数find . -name *.txt -exec cat {} \; | wc -l。把每个文件内容拼接到 stdout 再统一用wc -l计数xargs wc -l | tail -n 1会在无匹配文件时报错find -exec wc -l {} \; | awk ...也能统计但非最短解。Q72ls -l file[^abc]*.txt在目录含 file1.txt、file10.txt、fileabc.txt、filea.txt、fileb.txt、filec.txt 时输出file1.txt和file10.txt。[^abc]是否定字符类排除 a/b/c 开头的匹配因此 filea/fileb/filec/fileabc 全部排除只留下file1.txt与file10.txt。原文档强调此处的^表示对括号内匹配项的否定。glob 与大括号展开Q28正确创建 file1.txt 到 file10.txt 的命令是touch file{1..10}.txt。{1..10}是大括号展开brace expansion会先于其他展开生成file1.txt ... file10.txt十个参数。{110}、{1-10}不是合法区间(1..10)是子 Shell 语法。Q91cat -n animals | sort -r | head -n 5的最可能输出9 Ibex 8 Hippo 7 Giraffe 6 Fox 5 Elephantcat -n给每行加行号1 Ant、2 Bear、…、9 Ibex、10 Jaguarsort -r按整行逆序排序行号字母混合按字典序逆排head -n 5取前 5 行。正确答案 d 展示了带行号的 Ibex 到 Elephant干扰项 b 的行号/内容错位c 丢失了行号。四、条件判断、循环与流程控制test 与[[ ]]Q43if [ -x $file ]测试的是文件是否可执行。-x检查执行权限-w才是可写-L是符号链接-O是属主为当前用户。Q84两个条件表达式[[$A$B]]与[[$A -eq $B]]的差异原文档按题库答案标注为「它们是一样的」。需要说明的是Bash 中用于字符串比较、-eq用于数值比较二者在操作数为纯数字时可等效该题选项本身存在表述歧义且无空格写法在[[ ]]内会被当作单个词此处遵循原题库判定读者可将其作为易错点记忆。case 分支Q26在 case 语句中告诉 Bash「完成特定测试」的终止符是;;双分号。: :不是合法终止符done属于循环$$是 PID。Q27case 中的*代表匹配任何值的默认分支default option——当其他 case 都未命中时执行它并非字面星号输入、也不是「所有分支合并」或「无视条件的操作」。Q38根据参数值测试并运行不同语句块应使用casefor/while/until都是循环结构。循环结构Q52除 while 和 until 外Bash 支持的另一个循环构造是for支持 C 风格for ((;;))与列表式for i in ...Bash 没有do-while、repeat、loop关键字。Q56不是有效 Bash 循环的是do-until。until、for、while都是合法循环关键字。Q80要让循环持续运行直到某条件变为 true使用while条件为真时继续until是条件为假时继续if/case不是循环。Q9read关键字会暂停脚本从标准输入读取数据。严格模式Q8在脚本中使用set -e的效果是只要命令、命令列表、复合命令或管道返回非零状态码Bash 立即退出。它等价于把「未处理运行时错误立即终止程序」的语义引入 Shell——正如 Java 的异常、C 的段错误、Python 的语法错误都会立即停止执行一样。set -e不建议用于交互式命令行 Shell但在脚本中能显著避免错误被静默忽略。注意其边界函数/子 Shell/条件中返回非零未必触发退出视上下文而定这也是题目的干扰项设置。五、脚本编写与运行环境shebang 与执行方式Q20让 Bash 脚本像操作系统命令一样执行的 shebang 行是#!/usr/bin/env bash。env bash会在 PATH 中查找 bash兼容不同安装路径~/usr/bin/env bash、$!/usr/bin/env bash、#/usr/bin/env bash均不是合法 shebang。Q54无效的 shebang 是#!/bin/basher没有名为 basher 的解释器。#!/bin/bash、#!/bin/sh、#!/usr/bin/env bash均有效。Q88shebang#!的作用是帮助系统识别脚本的解释器确保使用正确的解释器执行脚本。它不指定 Bash 版本、不标记可执行权限那是chmod x的职责。Q90在没有 shebang 行也没有执行权限的情况下仍可执行脚本的方式是输入bash script.sh——显式调用 bash 解释器读取脚本文件绕过 shebang 与可执行位exec script.sh不能解决权限问题。别名与导出Q69把ls -lah分配给快捷命令lhalias lhls -lah。link、alias ls -lahlh参数顺序颠倒、lh | ls -lah管道语义错误均不正确。Q44适用于函数和 Shell 执行环境的选项是export——把变量或函数导出到子进程环境sudo提权、module模块系统与secure都不是通用导出机制。Q83向当前环境添加一个值应使用export命令如export PATH$PATH:/new/pathshell_add、save不存在echo只输出文本。交互快捷键Q14调出 Bash history search历史搜索的快捷键是CtrlR出现(reverse-i-search)提示原文档注明 macOS 上显示为bck-i-search:。EscR、CtrlH、AltR 均不触发反向搜索。Q19在标准输入中提示输入文本时用CtrlDWindows/CommandDMac告诉命令输入完成——发送 EOF 信号结束 stdinCtrlZ 是挂起任务CtrlA/E 是行首/行尾移动。六、权限、进程与系统管理Q12SUIDsetuid位对可执行命令的影响是命令被执行时其运行权限提升到命令的 user owner如passwd以 root 身份运行。它不会改变创建文件的属主那是 setgid 与目录粘滞位的职责也不等于「任何人都能执行」那是 777 权限更不提升到 group owner。Q34/etc/shadow中的密码以hashed哈希形式存储早期 UNIX 为加密现代 Linux 使用 SHA-512 等单向哈希部分发行版叠加盐值绝非明文也不宜笼统说成 encrypted加密可逆哈希不可逆。原文档的答案是 hashed。Q78Linux 系统中 nice 值的范围是-20 到 19数值越小优先级越高-20为最高优先级19为最低。干扰项 -20 到 0、0 到 19 均不完整。Q59当文件使用 tab 分隔字段时应把内部字段分隔符 IFS 设置为\t制表符。\s不是标准转义正则里的\s才是空白类\n是换行\d在正则中表示数字。Q46同时完成排序与去重sort -u。sort | uniq -u只输出不重复的行语义不同sort --unique与sort -uniq不是合法选项组合。Q36脚本接收用户输入的方式包括以上所有——使用命令行参数、交互式提示读取、从文件读取如read、$1、 file三种途径。七、综合实战把 94 题转化为可复用的命令行能力将上述考点串联为几段「可直接复制运行」的实战片段检验对整份题库的掌握程度场景一安全地按文件名批量操作对应 Q2、Q23、Q93 的教训# 错误示范含空格文件名会被 for 在单词边界拆分 for i in $(ls *.jpg); do mv $i ${i}.bak; done # 正确示范用 glob 数组配合双引号 shopt -s nullglob for i in *.jpg; do mv $i ${i}.bak; done场景二只保留关心的输出并丢弃噪音对应 Q5、Q63、Q70find $HOME -name *.csv -print 2/dev/null # 结果进 stdout错误进黑洞 mysql file.sql out.txt 2 err.log # 正常结果与错误分离场景三文本流水线对应 Q4、Q7、Q65、Q91echo 1 2 3 | awk {for (i1; iNF; i) ss$i} END {print s} # 输出 6 for f in *.csv; do grep profit $f | awk -F, {print $3}; done # 先过滤后取列 cat -n animals | sort -r | head -n 5 # 倒序取前 5场景四严格模式与健壮脚本对应 Q8、Q47、Q88#!/usr/bin/env bash set -euo pipefail # 出错即停、未定义变量报错、管道失败检测 while IFS read -r line; do printf %s\n $line done file.txt这些片段均可在本仓库题库中找到对应的原始考题bash-quiz-ch.md Q2/Q5/Q8/Q23/Q47/Q65/Q70/Q93 等可作为自测答案的依据。如需英文原题对照可查阅 bash-quiz.md多语言版本es、it、fr由仓库的 translate.py 翻译流程维护。结语本指南以 linkedin-skill-assessments-quizzes 仓库的 Bash 中文题库为骨架完整覆盖 94 道考题并按六大知识域重新组织变量与参数展开、重定向与数据流、sed/awk/find、条件与循环、脚本编写与运行环境、权限与系统管理。每一题都保留了原文档的答案判定并补充了运行原理与易错点说明。建议读者先独立作答再对照本文解析最后用文末的「综合实战」片段在真实 Shell 中验证结论——这比单纯背答案更能沉淀为可迁移的命令行能力。赞分享文档教程知识库教育【免费下载链接】linkedin-skill-assessments-quizzesFull reference of LinkedIn answers 2024 for skill assessments (aws-lambda, rest-api, javascript, react, git, html, jquery, mongodb, java, Go, python, machine-learning, power-point) linkedin excel test lösungen, linkedin machine learning test LinkedIn test questions and answers项目地址https://gitcode.com/GitHub_Trending/li/linkedin-skill-assessments-quizzes点击查看免费下载相关推荐Flower 联邦学习中的样本级差分隐私实战基于 Opacus Privacy Engine 的 DP-SGD 训练指南Flower 联邦学习中的样本级差分隐私实战基于 Opacus Privacy Engine 的 DP SGD 训练指南 导读 本文基于 Flower 仓库中文档教程知识库教育Agent Zero 异步打印捕获工具 print_catch 源码级解析capture_prints_async 的设计与实战Agent Zero 异步打印捕获工具 print_catch 源码级解析capture_prints_async 的设计与实战 导读 在 Agent Zer文档教程知识库教育LinkedIn 会计技能评估测验全解基于 linkedin-skill-assessments-quizzes 的 75 道高频会计题与原理精讲LinkedIn 会计技能评估测验全解基于 linkedin skill assessments quizzes 的 75 道高频会计题与原理精讲 本文以开源文档教程知识库教育上一篇将 create-t3-app 生成的 Next.js 应用部署到 Netlify从 netlify.toml 配置到 Dashboard 与 CLI 全流程指南下一篇OneUptime 来电策略Incoming Call Policy实战基于 Twilio 搭建按升级规则路由的应急呼叫热线创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →