【问题标题】:shell programming (shell command usage) [closed]shell编程(shell命令用法)[关闭]
【发布时间】:2012-03-01 18:26:31
【问题描述】:
  1. PWD=$(shell pwd)

  2. PLAT_NAME ?= Z22

这些语句用作 makefile 的一部分。请解释下面的查询 在第一季度。贝壳是什么意思? .这是一个shell命令吗? 在第二季度。 ?= 是什么意思?

【问题讨论】:

  • 'Q1','Q2',这是作业吗?另外:请每个问题只有一个问题。另外:如果您要在此处粘贴作业,请至少注意为帮助您的人格式化。

标签: linux shell makefile


【解决方案1】:

$(shell ...)shell function,用于执行系统命令。所以$(shell pwd),执行pwd命令。

?= 是条件变量赋值运算符,如果变量尚未定义,则用于为变量赋值。具体来说,如果 PLAT_NAME 尚未设置,PLAT_NAME ?= Z22 会将变量 PLAT_NAME 设置为 Z22

请参阅GNU make manual 了解更多信息。

【讨论】: