zoukankan      html  css  js  c++  java
  • shell写多行到文件中

    用cat或者echo命令输入多行数据到指定文本

    #!/bin/sh
    (
    cat <<EOF
    start()
    {
        echo "start"
    }
    EOF
    ) > Makefile

    cat Makefile

    start()
    {
        echo "start"
    }


    为了自动生成一个可以传参的Makefile写了一个变态的shell
    #!/bin/sh
    
    cd ${ta_path}
    echo "---生成 Makefile-----"
    
    echo "TA_DEV_KIT_DIR := ../../export-user_ta/
    CROSS_COMPILE := arm-linux-gnueabihf-
    CFG_TEE_TA_LOG_LEVEL ?= 2" > Makefile
    
    #cd ${ta_path}
    sed -i '$aCPPFLAGS += -DCFG_TEE_TA_LOG_LEVEL=$(CFG_TEE_TA_LOG_LEVEL)' Makefile
    
    
    echo "BINARY=${uuid}
    TA_ROOT := ." >> Makefile
    
    sed -i '$ainclude $(TA_DEV_KIT_DIR)/mk/ta_dev_kit.mk 
    all: $(BINARY).ta 
    $(BINARY).ta: $(BINARY).bin
        rm -f $@ 
        cat faked_armv7_uta_signed_header.bin $< > $@' Makefile
    
    echo "clean: clean_ta_file
    .PHONY: clean_ta_file
    clean_ta_file:" >> Makefile
    
    sed -i '$a    rm -f $(BINARY).ta' Makefile
    
    echo "----Makefile生成完成----"

    交叉使用sed和cat或者echo命令是因为,sed可以将$(BINARY)只要的参数原封不动的写入文件中,但是echo,cat会将其理解为变量。

    本身这脚步的主要目的也是为了使Jenkins调用时可以手动传递参数。在

    echo "BINARY=${uuid}
    TA_ROOT := ." >> Makefile

    就是这个意思。
     
  • 相关阅读:
    Django之POST GET与前后端交互
    Django中用户权限模块
    Django运算表达式与Q对象/F对象
    Django中Middleware中间件
    Form表单 JSON Content-type解析
    浅析ajax原理与用法
    浅析Django之session与cookie
    浅谈HTTP协议
    Django 项目搭建(ubuntu系统)
    h5 和之前版本的区别
  • 原文地址:https://www.cnblogs.com/luolizhi/p/5587398.html
Copyright © 2011-2022 走看看