如何在gmake中返回变量的第一个字符

2023-12-23

使用 GNU 的 make,我想提取变量的第一个字符。目前我正在使用 shell 函数bash执行子串。我想知道是否有办法使用 gmake 的内置函数来执行相同的操作。

DIR=/user/$(shell echo "$${USER:0:1}")/$(USER)/

这不是很令人满意,你必须添加$(INITIALS)直到你高兴为止,但是:

INITIALS := a b c d e f g h i j k l m n o p q r s t u v w x y z
U := $(strip $(foreach a,$(INITIALS),$(if $(USER:$a%=),,$a)))

DIR = /user/$(U)/$(USER)/

也许明智的做法是注意:=上面的用法,并将您的简单版本修改为DIR := ...$(shell ...)...这样 shell 命令只被调用一次。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在gmake中返回变量的第一个字符 的相关文章

  • Pandas - 修改每个单元格中的字符串值

    我有一个 pandas 数据框 我需要修改给定字符串列中的所有值 每列包含相同长度的字符串值 用户提供他们想要为每个值替换的索引 例如 1 3 和重置价值 AAA 这会将值 1 到 3 中的字符串替换为值AAA 我怎样才能使用applyma
  • 替换字符串中的换行符 C#

    如何在 C 中替换字符串中的换行符 使用替换为Environment NewLine myString myString Replace System Environment NewLine replacement text add a l
  • 转义字符串中的反斜杠

    我想知道什么是转义字符串中的反斜杠而不添加不必要的斜杠的好方法 我的意思是 通常如果我想转义字符串中的反斜杠 最简单的方法是使用String Replace 像这样 string s someString Replace 可以使用正则表达式
  • 检查字符串是否编码为 UTF-8

    function seems utf8 str length strlen str for i 0 i lt length i c ord str i if c lt 0x80 n 0 0bbbbbbb elseif c 0xE0 0xC0
  • 如何缩短 PHP if 语句?

    我有一个 if 语句 我需要将单个字符串与许多不同的选项进行比较 我在下面发布的代码非常清楚地表明了我的意思 我知道有两种方法可以做到这一点 但另一种甚至更长 那么 是否有任何函数可以以更短的方式实现类似的功能 我的要求可能看起来很愚蠢 但
  • 出现错误:字符串未被识别为 C# 中的有效日期时间

    出现如下错误 mscorlib dll 中发生类型为 System FormatException 的未处理异常附加信息 字符串未被识别为有效的日期时间 我正在使用这段代码 string datetime DateTime Parse en
  • 在 C++ 中,std::string::push_back() 的摊余复杂度是 O(1) 吗?

    我知道标准指定它适用于向量 但是字符串呢 是的 它是摊销常数时间 请参见第 716 页的表 101本文件的 http www open std org jtc1 sc22 wg21 docs papers 2012 n3485 pdf 表
  • 将字节数组编码解码为字符串而不丢失数据

    我尝试将 byte 转换为字符串 如下所示 Map
  • Python,将字典存储在数据库中

    在数据库中存储和检索 python 字典的最佳方法是什么 如果您对使用传统 SQL 数据库 例如 MySQL 不是特别感兴趣 您可以研究非结构化文档数据库 其中文档自然映射到 python 字典 例如MongoDB http www mon
  • 正则表达式 - 避免表达式中出现字符串

    我正在尝试创建一个应该匹配以下情况的正则表达式 如果单词完全匹配 first second third 那么匹配应该失败 但如果它周围有任何字符 那么应该匹配该字符串 我还需要避免字符串中的某些字符集 如果这些字符是字符串的一部分 则匹配结
  • 如何用空新行分割字符串

    我的文件包含这个字符串 a b c 现在我想阅读它并用空行分割它 所以我有这个 text split n n where text is output of file 问题是这不起作用 当我将新行转换为字节时 我看到 n n 表示为 10
  • 如何打印整个字符串池?

    我想打印包含文字的整个字符串池String使用添加的对象intern 就在垃圾收集之前 JDK有没有隐式的方法来进行这样的操作 我们如何检查字符串池 EDIT The comment suggests that there may be a
  • R 获取子字符串和正则表达式?

    我有一组文件名字符串 我想提取 符号之后但文件扩展名之前的所有字符 例如 文件名之一是 HelloWorld you txt 我想返回字符串you 这是我的代码 hashPos grep name fixed TRUE dotPos len
  • 在python中将文本文件解析为列表

    我对 Python 完全陌生 我正在尝试读取包含单词和数字组合的 txt 文件 我可以很好地读取 txt 文件 但我正在努力将字符串转换为我可以使用的格式 import matplotlib pyplot as plt import num
  • python 中分割字符串以获得一个值?

    需要帮助 假设我在名为 input 的变量中有一个字符串 Sam Person name kind input split 通过执行上述操作 我得到两个具有不同字符串 Sam 和 Person 的变量 有没有办法只获取第一个值 name S
  • SQL Server 转换选择一列并将其转换为字符串

    是否可以编写一条从表中选择列并将结果转换为字符串的语句 理想情况下 我希望有逗号分隔的值 例如 假设 SELECT 语句看起来像这样 SELECT column FROM table WHERE column lt 10 结果是一列包含值的
  • 将字符串存储在 constexpr 结构中

    是否可以将字符串存储在constexpr struct 到目前为止我只能想出 struct A constexpr A std string view n m name n constexpr auto name return m name
  • Java替换特定字符

    这是我在这个网站上的第一个问题 所以我会尽量不要成为一个十足的菜鸟 我目前正在用java 创建刽子手游戏 所以我问你的问题是我们是否被赋予了 幽灵 这个词 并将 Ghost 替换为 hiddenWord ghost length for i
  • 使用安全函数在 C 中将字符串添加到字符串

    我想将文件名复制到字符串并附加 cpt 但我无法使用安全函数 strcat s 来做到这一点 错误 字符串不是空终止的 我确实设置了 0 如何使用安全函数修复此问题 size strlen locatie size nieuw char m
  • 从java中的字符串数组中删除空值

    java中如何从字符串数组中删除空值 String firstArray test1 test2 test4 我需要像这样没有 null 空 值的 firstArray String firstArray test1 test2 test4

随机推荐

  • imessage 扩展可以打开主机应用程序吗?

    我试过了 self extensionContext openURL completion 但我的应用程序崩溃了 我听说有些扩展程序不能使用此方法 iMessage 扩展程序可以吗 顺便问一下 主机应用程序可以激活其 iMessage 扩展
  • MVC-如何从参数名称包含点字符的 get 请求中获取参数值

    在 MVC 中 我知道我们可以从 get 请求中获取参数 如下所示 Request http www example com method param1 good param2 bad 并在控制器中 public ActionResult
  • 如何在 MAUI 中添加自定义启动画面?

    我有一个基本的 MAUI 项目 我想将 SVG 文件设置为启动屏幕 我尝试使用以下代码修改 csproj 文件 As you can see the photo is cropped in a circle 如何让启动画面显示整张照片 你不
  • 死锁谜题:受害者不拥有任何资源,用于解决死锁

    我有一个奇怪的死锁图 其中 MSSQL Server 2008 选择的受害者不是死锁循环的一部分 这个僵局是在select and insert 死锁资源是一个表 其中所有selects want waitresource KEY 6 72
  • PHP 脚本中的 XSS 漏洞

    我一直在到处寻找 试图找到解决这个问题的方法 我最近在我们的网站上运行扫描 以查找任何 XSS 和 SQL 注入漏洞 有些项目引起了我的注意 用户输入的任何数据现在都使用filter var 进行验证和清理 我现在的问题是 XSS 和操纵
  • python 和 java api 的释放错误:未定义符号:_ZN5boost6system15system_categoryEv

    我在 Ubuntu 13 10 中安装了 freeling 并且尝试使用 python 或 java api 但每当我尝试执行以下操作时都会收到错误 matias matias IdeaPad U430 Touch Programas To
  • 在 MVC 中显示文件夹中的所有图像。与 foreach

    我想将我的文件夹 Images uploads 文件夹中的所有图片显示到 MVC 视图中 所以它显示在网站上 但似乎没什么作用
  • GWT (2.4.0) + XSRF

    我一直在尝试让 XSRF 在网络应用程序上运行 但没有成功 我正在研究一个典型的登录实现 我正在关注谷歌的代码 https developers google com web toolkit doc latest DevGuideSecur
  • 向工人发送数据

    我正在尝试创建一段并行代码来加速非常大 几亿行 数组的处理 为了并行化 我将数据切成 8 个 我的核心数 块 并尝试向每个工作人员发送 1 个块 然而 看看我的 RAM 使用情况 似乎每一块都发送给每个工作人员 有效地将我的 RAM 使用量
  • ServiceStack OnDeserialized 等效项

    我正在实时反序列化 websocket 消息 在我收到的消息 json 字符串 中 有一个 unix 时间戳 长 一旦每个对象被反序列化 我就需要它尽快调用一个方法 以便我可以捕获消息发送和接收时间之间的延迟 使用 Json NET 这很简
  • 如何对字典(在运行时)进行类型提示/类型检查以查找任意数量的任意键/值对?

    我定义一个类如下 from numbers import Number from typing import Dict from typeguard import typechecked Data Dict str Number typec
  • 缓慢/跳跃地调整大小

    我使用简单的渐变扩展 JComponent 并调整 PaintComponent 方法制作了自己的 BottomBar 然后我将它添加到使用 BorderLayout 的 JFrame 的南部 一切一开始看起来都是正确的 当我调整框架大小时
  • 如何在android中获取纬度和经度?

    android2 3 3中如何获取当前的经纬度 我尝试跟随this https stackoverflow com questions 2227292 how to get latitude and longitude of the mob
  • 当使用实体框架代码优先映射属性到单独的表时,移动外键字段

    使用代码优先 EF 映射表时遇到奇怪的问题 我有一个父类 Contract 与另一个类 Supplier 具有多对一关系 要求在合同实体中存储合同的扫描副本 为了避免每次都查询文档字节 我想将此属性存储在单独的表中 我可以让 EF 将 Co
  • 为什么我的“事件”总是空?

    我正在尝试连接一个新事件 但由于某种原因 更改 总是评估为空 public class MyTreeViewItem INotifyPropertyChanged private MyTreeViewItem parent public M
  • Windows 批处理中的 if/then/else 语句

    在 shell 脚本中我有以下代码 if echo Mr 32 then echo Success else echo Failed exit fi Windows 批处理文件的等效语法是什么 我很难想象 ECHO 何时会失败并返回 ERR
  • 将布尔值绑定到视觉状态

    我正在使用表达式混合 当列表框没有元素时 我想将文本框的状态更改为红色边框和红色文本 因此 当文本更改时 我会过滤列表框 private void OnIPAddressTextChanged object sender System Wi
  • 启动 docker 守护进程监听特定端口的正确方法

    我是 Docker 新手 希望以守护进程模式启动它 监听特定的 IP 地址和端口 在里面文档 https docs docker com reference commandline daemon 据说这可以通过写来完成sudo usr bi
  • 关于AMR音频文件在不同设备上播放的问题

    我这里遇到了一个很奇怪的问题 我正在开发一个IM软件 需要在Android上播放另一个客户端录制的音频文件 我得到的相同音频文件可以在 3GS IOS 4 2 1 设备和模拟器 4 2 上使用 AVAudioPlayer 播放 但是当我尝试
  • 如何在gmake中返回变量的第一个字符

    使用 GNU 的 make 我想提取变量的第一个字符 目前我正在使用 shell 函数bash执行子串 我想知道是否有办法使用 gmake 的内置函数来执行相同的操作 DIR user shell echo USER 0 1 USER 这不