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

Bash脚本中[]内语句及"$1" == ""语法含义咨询

#!/bin/bash
if [ "$1" == "" ]
then
    echo "A"
    echo "B"
fi 
Bash脚本问题解答

1、方括号[]内部的语句代表什么含义

  • Bash中的[]是内置test命令的简写语法,方括号内部的内容就是传给test命令的条件判断表达式,会对传入的内容做运算判断,最终返回退出状态码:状态码为0代表条件成立,非0代表条件不成立,if语句会根据这个状态码决定是否执行后续分支代码。
  • 注意原代码存在语法问题:[]和内部的表达式之间必须保留空格,正确写法应为[ "$1" == "" ],缺少空格会直接运行报错。

2、"$1" == ""判断条件里带数字的$符号相关写法的具体作用是什么

  • 这种带数字的$n格式是Bash的位置参数变量,用来接收执行脚本/函数时从外部传入的参数:
    • $0固定代表当前执行的脚本本身的文件名
    • $1代表传入的第一个位置参数,$2代表第二个,以此类推,参数序号大于9时需要写成${10}的格式
  • 这里"$1" == ""的判断逻辑就是检测执行当前脚本时,用户有没有传入第一个参数,如果没有传入任何参数,$1的值就是空字符串,条件成立,就会执行后续输出A、B的逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:15:03