当前位置: 首页 > news >正文

山西省住房和城乡建设部网站成品网站安装

山西省住房和城乡建设部网站,成品网站安装,网络维护人员,网站换模板对seo以下内容转载于博客Makefile 和 shell 脚本的区别与联系#xff0c;有删改与内容添加。 参考内容#xff1a;初学Makefile指南 一、什么是 Makefile#xff1f; Makefile 描述了整个工程的编译、链接规则。当源码文件比较多的时候就不适合通过输入 gcc 命令来编译#xf…以下内容转载于博客Makefile 和 shell 脚本的区别与联系有删改与内容添加。 参考内容初学Makefile指南 一、什么是 Makefile Makefile 描述了整个工程的编译、链接规则。当源码文件比较多的时候就不适合通过输入 gcc 命令来编译Makefile 文件描述了编译哪些源码文件、如何编译每次需要编译工程时只需要使用这个文件就行了。 1Makefile的规则中命令行必须以Tab键开始不能用几个空格表示。 2Makefile中只能使用#进行注释不能使用//进行注释而且只能一行一行地注释。 3在命令行中输入“make”make 命令会在当前目录下查找是否存在 Makefile 文件。 二、什么是 shell 脚本 我们可以直接在shell窗口中输入很多命令来完成某个需求但是每次用到相同需求时都需要重新输入这些命令效率比较低下为此我们可以把这些命令记录在一个文档中然后去执行这个文档中的命令这样就能一步操作完成。记录着这些命令的文档就是shell脚本。换言之shell脚本就是一些命令的集合它是一个纯文本文件。 1shell 脚本中命令是从上到下从左到右一行行、一句句地开始执行的。 2shell 脚本提供数组、循环、条件判断等功能。 3shell 脚本扩展名为 .sh但其实扩展名并不影响脚本执行见名知意就好。 4shell 脚本第一行一般为“#!/bin/bash”这表示使用bash这个shell程序。 5执行shell脚本的方法其中一种是“./xxx.sh”首先要给xxx.sh添加可执行权限另外一种方法是“bash xxx.sh”或者“. xxx.sh”或者“source xxx.sh”。它们的区别见博客https://xiefor100.blog.csdn.net/article/details/125584203。 三、Makefile 和 shell 脚本的区别 1、在Makefile中可以调用shell命令。 1比如Makefile规则中的命令行就是由shell命令组成的。 x210_sd_config : unconfig$(MKCONFIG) $(:_config) arm s5pc11x x210 samsung s5pc110echo TEXT_BASE 0xc3e00000 $(obj)board/samsung/x210/config.mk 2比如xxx $(shell 紧接着的是shell代码)。 xjhubuntu:~/iot/tmp$ cat Makefile usr_num $(shell who | wc -l)all:echo 用户数目是${usr_num}xjhubuntu:~/iot/tmp$ make 用户数目是2 xjhubuntu:~/iot/tmp$ 3执行 Makefile 规则中的命令时通过创建一个进程来执行一行的内容即每一行命令对应着一个进程不同命令行对应着不同进程因此不同命令行之间的变量不能传递。有时候一行的命令很长为了确保一行的shell命令都在同一个进程中执行我们需要在末尾添加“\”。另外一行的命令中不同的命令语句之间用分号进行连接。 MPC8360ERDK_33_config \ MPC8360ERDK_66_config \ MPC8360ERDK_config: unconfigmkdir -p $(obj)includeif [ $(findstring _33_,$) ] ; then \$(XECHO) -n ... CLKIN 33MHz ; \echo #define CONFIG_CLKIN_33MHZ $(obj)include/config.h ;\fi ;$(MKCONFIG) -a MPC8360ERDK ppc mpc83xx mpc8360erdk freescale 2、在shell中通配符是“*”在Makefile中通配符是“ %”。 3、在shell中不允许 “” 号两边有空格在Makefile中允许变量赋值时“” 号两边有空格。 4、在shell中$() 放命令${} 放变量在Makefile中$() 和 ${} 都能引用变量如果不加()或者{}则$会与$后面字符串的第一个字符组合比如下面代码的$PATH其实是${P}ATH因为变量P没有定义则${P}为空。 xjhubuntu:~/iot/tmp$ cat Makefile VAR valueall:echo $VARecho ${VAR}echo $(VAR)xjhubuntu:~/iot/tmp$ make AR value value xjhubuntu:~/iot/tmp$ 5、如果在Makefile中定义了一个变量而Makefile中所调用的shell命令也定义了一个同名的变量在使用变量的时候如何区分它是引用shell的变量还是Makefiel中的变量呢Makefile规定如果在Makfile中引用shell变量那么该shell变量前应该添加两个$$符号。比如下面代码$$subdir表示引用shell中的变量subdir 而${subdir}表示引用Makefile中的变量subdir。 xjhubuntu:~/iot/tmp$ cat Makefile SUBDIR src example subdir xxxall:for subdir in $(SUBDIR);\do\echo building $$subdir $${subdir};\ #$$(subdir)实测不行echo ${subdir} $(subdir);\donexjhubuntu:~/iot/tmp$ make building src src xxx xxx building example example xxx xxx xjhubuntu:~/iot/tmp$ 6、在Makefile中shell命令需要放在规则的命令中直接放在规则之外是不允许的。 xjhubuntu:~/iot/tmp$ cat Makefile VAR Hello echo ${VAR} #这一条shell命令直接放在规则之外是不允许的all:echo ${VAR} xjhubuntu:~/iot/tmp$ make Makefile:2: *** missing separator. Stop. xjhubuntu:~/iot/tmp$ 如果想把shell命令放在规则之外需要使用 xxx $(shell shell命令列表)的形式。 xjhubuntu:~/iot/tmp$ cat Makefile VAR Hello print_string$(shell echo ${VAR})all:echo ${VAR}echo ${print_string}xjhubuntu:~/iot/tmp$ make Hello Hello xjhubuntu:~/iot/tmp$ 7、shell中执行命令时没有回显执行Makefile中规则的命令行时如果命令行之前没有符号则一般会先打印出要执行的命令然后执行命令。 未完待续
http://www.hkea.cn/news/14472501/

相关文章:

  • 网站建设贵不贵诸城企业网站建设
  • 网站架构设计师薪资水平提供网站空间服务器
  • 网站怎么做的支付宝接口中英网站源码下载
  • 公司网站服务器租赁兼职会计
  • 福州微信网站开发给微商做网站
  • 郑州网站建设 华数最好的网站开发公司电话
  • 萧县做网站的公司做qq图片的网站
  • 网站一般做几个关键词congqin网站建设
  • 给前端做网站的图片叫什么软件南昌做网站开发的公司哪家好
  • 平台建设上线网站网站建设的环境
  • 中国做进出口的网站网页无法访问6
  • 在线捐款网站开发品牌网站建设 d磐石网络
  • 大连网站制做公司wordpress 我爱搜罗网
  • 网站建设的论文的参考文献卢松松网站
  • 沙坪建设集团网站玉溪网站开发
  • 建设银行网站怎么开通短信服务全网品牌营销
  • 合肥专业网站设计公司价格腾讯云网站备案吗
  • 建手机号码的网站影视后期制作培训机构全国排名
  • 免费论坛申请网站做co网站
  • 说明怎样做才能通过互联网访问你制作的网站wordpress qq微信登陆地址修改
  • 各大网站发布信息logo设计公司 成都
  • 做数学题目在哪个网站好怎样制作h5页面
  • 网站制作与网页制作中国建设银行移动门户网站
  • 有网站教做水电资料吗wordpress支持的视频格式
  • 网站设计背景图片西安网页设计培训
  • 营销网站策划网站推广必做
  • 开网站供免费下载网站备案贵州电话
  • 米各庄网站建设做网站 什么主题较好
  • 淘宝客网站怎样做seo广州市住房和城乡建设厅网站首页
  • 国家建设部查询网站wordpress for ipad