我用nvm安装了节点它工作正常,但我需要source $HOME/nvm/nvm.sh
每个新会话才能使节点生效
如何在启动时保持活动状态,因此无需在每个sssh会话中键入source $HOME/nvm/nvm.sh
我尝试将此命令source $HOME/nvm/nvm.sh
添加到/etc/rc.local
但我收到以下错误
> /etc/init.d/node_start.sh: 13: root/nvm/nvm.sh: Bad substitution
> /etc/init.d/node_start.sh: 78: root/nvm/nvm.sh: [[: not found
> /etc/init.d/node_start.sh: 78: root/nvm/nvm.sh: [[: not found
> /etc/init.d/node_start.sh: 129: root/nvm/nvm.sh: [[: not found
> /etc/rc.local: 14: /etc/rc.local: source: not found
但是,如果我在shell上完成该命令正常工作
欢迎任何帮助
此致
答案 0 :(得分:1)
您应该将以下行添加到〜/ .bashrc文件的末尾:
(define-struct attendance-event (date flag))
答案 1 :(得分:0)
init脚本以root身份运行,而不是您的用户。如果您想要自己的nvm.sh
来源,则不应使用$HOME
,而应使用/home/vitor/nvm/nvm.sh
之类的绝对路径。此外,init脚本可能在dash
下运行,因此您不应使用[[
构造。只需使用[
exec /bin/bash /root/nvm/nvm.sh
所以我去了this dash as /bin/sh article
的nvm.sh源代码我不认为这与破折号兼容。所以我建议你把nvm.sh留在文件系统的其他地方,然后在init脚本中执行
node_start.sh
使用#!/bin/bash
开始{{1}}也可能就足够了。
您可能还想订阅其他人遇到此错误的https://github.com/creationix/nvm/blob/master/nvm.sh。
答案 2 :(得分:0)
我希望您的init脚本在需要以#!/bin/sh
开头时以#!/bin/bash
开头。当然,可能有很多很好的理由不在Bash中编写init脚本......