• shell cat EOF 变量自动解析问题


    使用如下shell安装node时,一直提示 command not found

    wget https://mirrors.huaweicloud.com/nodejs/latest-v8.x/node-v8.16.0-linux-x64.tar.gz
    tar zxvf node-v8.16.0.tar.gz -C /usr/local
    cd /usr/local/
    mv node* node
    cat <<EOF> /etc/profile.d/node.sh
    export NODE_HOME=/usr/local/node
    export PATH=$NODE_HOME/bin:$PATH
    EOF
    
    source /etc/profile
    

    去检查 node.sh 才发现变量被解析了。

    #cat /etc/profile.d/node.sh 
    export NODE_HOME=/usr/local/node
    export PATH=/usr/local/node/bin:/usr/local/node/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/redis/bin/:/root/bin
    

    两个解决办法:

    1. 加转义字符,适用于变量少的情况
    [root@elk ~]# cat <<EOF> /etc/profile.d/node.sh
    > export NODE_HOME=/usr/local/node
    > export PATH=$NODE_HOME/bin:$PATH
    > EOF
    [root@elk ~]# cat /etc/profile.d/node.sh 
    export NODE_HOME=/usr/local/node
    export PATH=$NODE_HOME/bin:$PATH
    

    ​ 2. EOF 加反斜杠,或用单引号、双引号包围 。适用变量多的情况

    [root@elk ~]# cat <<'EOF'> /etc/profile.d/node.sh
    > export NODE_HOME=/usr/local/node
    > export PATH=$NODE_HOME/bin:$PATH
    > EOF
    [root@elk ~]# cat /etc/profile.d/node.sh 
    export NODE_HOME=/usr/local/node
    export PATH=$NODE_HOME/bin:$PATH
    
    
  • 相关阅读:
    买点
    正则
    burp回放
    py打包问题
    运行elementUI相关组件的时候的问题
    客户端性能(转载)
    客户端性能(转载)
    关于Appium android input manager for Unicode 提示信息
    selenium 分布式 [WinError 10061] 由于目标计算机积极拒绝
    WPF数据绑定-依赖属性
  • 原文地址:https://www.cnblogs.com/fsckzy/p/10837831.html
Copyright © 2020-2023  润新知