You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法理解异常Shell脚本weird_sh.sh的运行结果,求解析原因

奇怪Shell脚本的运行原理解析

脚本内容

#!/bin/echo 11 22
echo 33

运行命令及输出

$ ./weird_sh.sh aa
11 22 ./weird_sh.sh aa

背后的原因

  • Shell脚本第一行的#!(shebang)用于指定脚本的解释器。这里没有用常规的#!/bin/bash,而是指定了解释器为/bin/echo。
  • 执行脚本时,内核会读取shebang行,调用/bin/echo程序,并按顺序传递以下参数:
    1. shebang行中解释器后的参数:11、22
    2. 脚本自身的路径:./weird_sh.sh
    3. 执行脚本时传入的命令行参数:aa
  • /bin/echo的功能是输出所有传入的参数,因此最终会打印出11 22 ./weird_sh.sh aa。
  • 脚本第二行的echo 33不会被执行,因为/bin/echo只是简单的输出工具,不会读取并执行脚本后续的内容。

内容的提问来源于stack exchange,提问作者Wu Jacky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 14:39:52