【问题标题】:the difference between the two syntax "$!" and "$?" [duplicate]两种语法“$!”的区别和“$?” [复制]
【发布时间】:2019-07-01 14:32:12
【问题描述】:

我一直在研究 Shell,我见过类似的东西:

pid_A2=$!
wait $pid_A2
pid_A2=$?

请您解释一下“$!”这两种语法之间的区别吗?和“$?”... 实际上,我知道$?是上一个命令的退出状态,但我从未见过上一个。

【问题讨论】:

标签: shell unix ksh aix


【解决方案1】:

$?: 上一次进程执行的状态

$!: 后台最后一条命令的pid

【讨论】:

    【解决方案2】:

    $! 是后台进程的最后一个作业。例如:

    $ sleep 1000 &
    [1] 6646    ---> process id
    

    echo "$!" 将打印最后一条命令的进程 ID(此处为 6646)。

    $? 返回最近执行的命令的退出值。 $? 用于处理命令或函数的返回值。例如:

    if [ **$?** -eq 1 ];
    then
        # do something
    fi
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多