如何在gmake中返回变量的第一个字符
使用 GNU 的 make,我想提取变量的第一个字符。目前我正在使用 shell 函数让 bash 执行子字符串。我想知道是否有办法使用 gmake 的内置函数来执行相同的操作。
DIR=/user/$(shell echo "$${USER:0:1}")/$(USER)/
Using GNU's make, I'd like to extract the first character of a variable. Currently I'm using the shell function to have bash
perform the substring. I'm wanting to know if there is a way using gmake's built-ins to do the same.
DIR=/user/$(shell echo "${USER:0:1}")/$(USER)/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这不是很令人满意,您必须添加
$(INITIALS)
直到您满意为止,但是:也许明智的方法是记下
:=
上面的用法,并将您的简单版本修改为DIR := ...$(shell ...)...
以便 shell 命令仅被调用一次。It's not very satisfying, and you'd have to add to
$(INITIALS)
until you were happy, but:Perhaps the sensible approach would be to take note of the
:=
usages in the above, and amend your simple version toDIR := ...$(shell ...)...
so that the shell command is only invoked once.http://www.gnu.org/software/make/manual/ make.html#Functions 是您可以使用 gmake 内置函数执行的所有操作的完整列表。
不幸的是,如果没有
$(shell)
,似乎无法提取第一个字符。http://www.gnu.org/software/make/manual/make.html#Functions is a comprehensive list of everything you can do with gmake builtins.
It does not appear to be possible to extract the first character without
$(shell)
, unfortunately.