【发布时间】:2026-01-26 16:10:01
【问题描述】:
假设您正在准备一次深入的技术面试,并要求您对自己在 shell 脚本方面的专业知识进行评分(假设为 1 到 10)。然后看下面的 shell 命令行示例并回答问题:这是做什么的?和为什么?
unset foo; echo bar | read foo; echo "$foo"
对于一般情况(不仅仅是针对某个或另一个特定版本的 shell),您会根据什么水平的专业知识正确回答这个问题?
现在假设您得到了以下示例:
cat "$SOMELIST_OF_HOSTS" | while read host; do ssh $host "$some_cmd"; done
...面试官解释说这个命令“不起作用”并且它似乎只在(大)文件中列出的一些主机上执行 ssh 命令(每隔几百个主机名就有类似的东西,似乎分散在列表中)。他或她自然会问:为什么要这样做?和你会如何解决它?
然后评估您将把能够正确回答这些问题的人映射到的专业水平。
【问题讨论】:
-
一个新手......也许是一个 4......如果他们不能毫不犹豫地识别和回答这两个问题,他们不会考虑雇用某人。
-
第二个只能在第一个主机上运行。