bash:[:rvm稳定之后的参数太多了

时间:2017-06-06 04:01:26

标签: bash command-line scripting rvm

正如标题所说,在bash中运行rvm get stable代码后,我开始收到错误-bash: [: too many arguments。执行任何命令时会弹出此错误,但会正确执行命令。例如lscd将按预期执行,但然后打印出错误。

我正在运行macOS Sierra。非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

运行rvm get stable后我遇到了同样的问题。

由于rvm需要作为一个函数在shell会话中运行,因此不能从[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm".bash_profile删除行.bashrc

在我的环境中,原因是旧版bash-it和rvm之间的冲突。如果您正在使用bash-it并遇到此问题,这可能有所帮助。

我采取了以下步骤:

  1. 备份我的.bash_profile(如果您有.bashrc,您可能也想备份它。)
  2. 执行bash-it的卸载脚本(请参阅上面链接中的说明)并删除~/.bash-it文件夹。
  3. 重新安装bash-it
  4. 根据在步骤1中创建的.bash_profile备份添加到.bash_profile缺少的内容。
  5. 重新启用我需要的bash-it别名,完成和插件。
  6. 我一打开一个新的shell,就停止收到错误,rvm开始正常工作。

答案 1 :(得分:-1)

对于遇到此问题的任何人,我可以通过从〜/ .profile和〜/ .bash_profile中删除以下代码行来阻止显示错误消息:

void echo_tx_tcp() { err_t wr_err = ERR_OK; struct tcp_pcb *l_tcp_pcb; l_tcp_pcb = tcp_new(); ip_addr_t dest_ip = { ((u32_t)0x0C0C0C2BUL) }; wr_err = tcp_bind(l_tcp_pcb, &dest_ip, 12); wr_err = tcp_connect(l_tcp_pcb, &dest_ip, 12, echo_accept); tcp_sent(l_tcp_pcb, echo_sent); struct pbuf *p = pbuf_alloc(PBUF_TRANSPORT, 1024, PBUF_RAM); unsigned char buffer_send[1024] = "My Name Is TCP"; p->payload = buffer_send; p->len = 1024; p->tot_len = 1024; wr_err = tcp_write(l_tcp_pcb, p->payload, p->len, 1); wr_err = tcp_output(l_tcp_pcb); if(wr_err == ERR_OK) { p->len++; } return; }

这是通过更新rvm添加的,rvm在删除这些行后仍然有效。

更新:这停止了错误,但是将我的ruby版本从2.2反向弹回到2.0