加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell cat EOF 变量自动解析问题

发布时间:2020-12-15 22:00:10 所属栏目:安全 来源:网络整理
导读:使用如下shell安装node时,一直提示 command not found wget https://mirrors.huaweicloud.com/nodejs/latest-v8.x/node-v8.16.0-linux-x64.tar.gztar zxvf node-v8.16.0.tar.gz -C /usr/localcd /usr/local/mv node* nodecat EOF /etc/profile.d/node.shexp

使用如下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. 加转义字符,适用于变量少的情况
[[email?protected] ~]# cat <<EOF> /etc/profile.d/node.sh
> export NODE_HOME=/usr/local/node
> export PATH=$NODE_HOME/bin:$PATH
> EOF
[[email?protected] ~]# cat /etc/profile.d/node.sh 
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH

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

[[email?protected] ~]# cat <<'EOF'> /etc/profile.d/node.sh
> export NODE_HOME=/usr/local/node
> export PATH=$NODE_HOME/bin:$PATH
> EOF
[[email?protected] ~]# cat /etc/profile.d/node.sh 
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读