【背景】

折腾:

期间,需要去把得到的Cygwin字符串转换为小写,以便更靠谱的去判断是否是cygwin系统。

【解决过程】

1.参考:

感觉很是麻烦。

2.参考:

看到其有建议,

在make中添加uc()和lc()

以便取代:$(shell echo $(var) | tr '[A-Z]' '[a-z]')

3.开始以为lc是Linux下的工具呢,结果通过:Administrator@PC-20130611GART /cygdrive/e/Dev_Root/docbook/tools/docbook-xsl-ns-1.78.1/webhelp

$ which lc

which: no lc in (/usr/local/bin:/usr/bin:/cygdrive/c/Program Files (x86)/AMD APP/bin/x86_64:/cygdrive/c/Program Files (x86)/AMD APP/bin/x86:/cygdrive/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/cygdrive/c/Program Files/Common Files/Microsoft Shared/Windows Live:/cygdrive/c/Program Files (x86)/Common Files/Microsoft Shared/Windows Live:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/ATI Technologies/ATI.ACE/Core-Static:/cygdrive/c/Program Files/Microsoft/Web Platform Installer:/cygdrive/c/Program Files (x86)/Microsoft ASP.NET/ASP.NET Web Pages/v1.0:/cygdrive/c/Program Files (x86)/Windows Kits/8.0/Windows Performance Toolkit:/cygdrive/c/Program Files/Microsoft SQL Server/110/Tools/Binn:/cygdrive/c/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/DTS/Binn:/cygdrive/c/Program Files (x86)/Windows Live/Shared:/cygdrive/c/Program Files/Java/jdk1.7.0_25/bin:/usr/bin:/cygdrive/e/Dev_Root/docbook/tools/ant/apache-ant-1.8.4/bin:/cygdrive/e/Dev_Root/docbook/tools/fop-1.0:/cygdrive/e/dev_install_root/HTML Help Workshop:/cygdrive/e/dev_install_root/TortoiseSVN/bin:/cygdrive/e/dev_install_root/Go/bin:/cygdrive/e/Dev_Root/go/bin:/cygdrive/e/dev_install_root/Mercurial:/cygdrive/e/dev_install_root/IDM Computer Solutions/UltraEdit:/usr/lib/lapack:/opt/crosstool-ng/bin)

得知,不是。

4.然后,就可以去makefile中,去测试看看当前make是否支持lc了:

去测试:OS_NAME = $(shell uname -o)

LC_OS_NAME = lc($(OS_NAME))

checkcygwin:

echo "OS_NAME=" $(OS_NAME)

echo "LC_OS_NAME=" $(LC_OS_NAME)

结果还出现“/bin/sh: -c: line 0: syntax error near unexpected token `(‘”的错误了:

5.结果是不支持lc。

所以,去换用那个tr操作var的试试:OS_NAME = $(shell uname -o)

#LC_OS_NAME = $(lc $(OS_NAME))

LC_OS_NAME = $(shell echo $(OS_NAME) | tr '[A-Z]' '[a-z]')

checkcygwin:

echo "OS_NAME=" $(OS_NAME)

echo "LC_OS_NAME=" $(LC_OS_NAME)

结果是:

可以的:Administrator@PC-20130611GART /cygdrive/e/Dev_Root/docbook/tools/docbook-xsl-ns-1.78.1/webhelp

$ make checkcygwin

echo "OS_NAME=" Cygwin

OS_NAME= Cygwin

echo "LC_OS_NAME=" cygwin

LC_OS_NAME= cygwin

【总结】

makefile中,将字符串从大写转换为小写的,可以用:$(shell echo $(someVariable) | tr '[A-Z]' '[a-z]')

相反,makefile中,把字符串从小写转换为大写则用:$(shell echo $(someVariable) | tr '[a-z]' '[A-Z]')

linux将字符串改大写,【已解决】makefile中把字符串转换为小写或大写相关推荐

  1. (转)解决fasterxml中string字符串转对象json格式错误问题(无引号 单引号问题)...

    原文地址:解决fasterxml中string字符串转对象json格式错误问题 com.fasterxml.jackson.databind.ObjectMapper mapper = new com ...

  2. python字符串去掉空行_从python中的字符串中删除空格

    python字符串去掉空行 如何在python中删除字符串中的空格 (How to remove whitespaces in a string in python) str.lstrip()str. ...

  3. c ++比较字符串是否相等_在C ++中比较字符串的3种方法

    c ++比较字符串是否相等 In this tutorial, we'll learn methods to compare strings in C++. Consider a scenario w ...

  4. 从键盘输入一个英文字母,如果它是大写英文字母,则将其转换为小写英文字母,如果它是小写英文字母,则将其转换为大写英文字母,然后将它及其ASCII码值显示到屏幕上,如果不是英文字母,则不转换直接输出到屏幕

    从键盘输入一个英文字母,如果它是大写英文字母,则将其转换为小写英文字母,如果它是小写英文字母,则将其转换为大写英文字母,然后将它及其ASCII码值显示到屏幕上,如果不是英文字母,则不转换直接输出到屏幕 ...

  5. python3 unicode字符串_【已解决】Python3中如何声明字符串是unicode类型以避免log日志打印出错...

    Python3中代码: CreateTableSqlTemplate = """CREATE TABLE IF NOT EXISTS `%s` ( `id` int(11 ...

  6. linux文件名小写变大写命令,通过Ubuntu命令行将文件名转换为小写

    在使用Linux时,您可能会遇到一些仅使用小写文件名的实用程序和应用程序.我们通常不以这种格式保存文件,因此可能需要寻找一种解决方法,将文件夹中的所有文件名递归转换为小写.在本文中,我们将向您展示两种 ...

  7. python字符串拼接数字_解决Python中字符串和数字拼接报错的方法

    解决Python中字符串和数字拼接报错的方法 前言 众所周知Python不像JS或者PHP这种弱类型语言里在字符串连接时会自动转换类型,如果直接将字符串和数字拼接会直接报错. 如以下的代码: # co ...

  8. JAVA程序把大写转换小写_Java程序将字符串转换为小写和大写。

    示例 import java.lang.*; public class StringDemo { public static void main(String[] args) { //将所有大写字母转 ...

  9. 切割字符串长度php,C++_C语言中计算字符串长度与分割字符串的方法,C语言strlen()函数:返回字符串 - phpStudy...

    C语言中计算字符串长度与分割字符串的方法 C语言strlen()函数:返回字符串的长度头文件: #include strlen()函数用来计算字符串的长度,其原型为: unsigned int str ...

  10. c语言中有裁剪字符串的函数吗,C语言中的字符串截取函数

    /*======================================================== 子数整数 源程序名 num.??? (pas,c,cpp) 可执行文件名 num. ...

最新文章

  1. 一个「菜鸟」转行AI的成长心得!
  2. 网站***是如何用脚本欺骗网友的
  3. 认真了解一下javascript
  4. OpenStack部署笔记和安装WindowsXP镜像
  5. 她穿着由自己17封拒稿信做成的裙子,通过了博士论文答辩!
  6. hibernate事务详解
  7. 曾抵押房子炒币、与老婆差点离婚! 如今这位80后中科院博士竟...
  8. 百度地图定位API+和风天气城市搜索API构成的天气定位模块
  9. C# MVC 微信支付教程系列之公众号支付代码
  10. C# - Entity Framework 对一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性
  11. 计算机技术水平考核试卷带答案,中小学教师计算机技术水平考核试卷笔试题带答案...
  12. Java 同时替换 字符串中子串
  13. Django Admin 上传多张图片并显示缩略图
  14. c#图片base64去转义字符_c#中图片与base64互相转换
  15. Learning Rich Features at High-Speed for Single-Shot Object Detection
  16. 完美恢复Word文档,丢失、乱码和受损三大症状不再是难题
  17. Multi-hop QA based KG
  18. Listener method 'public void com.config.mq.MsgReceiver.process(java.lang.String) throw
  19. 如何利用免费小说引流?小说平台怎么免费推广引流?
  20. 数据工程学建设思考与实践

热门文章

  1. windows连接远程桌面必须要有用户名和密码
  2. [答疑]关于产品线:充气娃娃,苍井空,猩猩
  3. 2016版excel_在抱怨加班之前,先看看你有没有熟练使用这13个Excel大神技巧?
  4. 计算机地图制图的点状符号制作,计算机地图制图地图符号库系统建立.doc
  5. 360浏览器调试html5,360浏览器如何打开调试工具
  6. 搭建 Harbor v2.2.0 docker私库
  7. php xml网站地图生成,PHP代码自动生成XML版网站地图
  8. 自定义Popwindow
  9. PPAPI开发之路(一)环境配置
  10. Redis 官方推出可视化工具,颜值爆表,功能真心强大!这是不给其他工具活路啊!...