如何在WSL2中运行的vscode中设置bash

时间:2019-12-09 13:12:02

标签: bash visual-studio-code windows-subsystem-for-linux

我想在使用WSL2的vscode中使用类似oh-my-bash的东西。但是根据docs

  

在WSL中启动VS Code Remote时,不运行任何外壳启动脚本。这样做是为了避免针对shell调整的启动脚本出现问题。如果要运行其他命令或修改环境,可以在安装脚本~/.vscode-server/server-env-setup(内部人员:~/.vscode-server-insiders/server-env-setup)中完成。如果存在,则在启动服务器之前先处理脚本。

我添加了~/.vscode-server/server-env-setup,并根据日志找到并执行了该日志,但是我的linux技能非常基础,我不知道如何安装我的配置文件。我尝试过

bash ~/.profile

...但是这似乎没有任何作用。我也尝试过

#!/bin/bash
source ~/.profile

这给我一个错误/mnt/c/Users/cber/.vscode/extensions/ms-vscode-remote.remote-wsl-0.40.3/scripts/wslServer.sh: 3: /home/cber/.vscode-server/server-env-setup: source: not found

更新

下面提供了有关如何获取配置文件的问题,但是我仍然遇到了使powerline-go在WSL2上的vs代码中工作的问题,但是我将其移至new question以关闭这个。

1 个答案:

答案 0 :(得分:1)

为了将您的设置保留在当前shell中,您需要source而不是仅执行配置(有关更多详细信息,请参见this link)。

问题是vscode使用dash而不是bash来加载配置文件。

但是,sourcebash的关键字,dash无法理解。因此,您必须使用更具移植性的语法.,才能使其与dash一起使用。

尝试用以下内容替换文件(不需要#!/bin/bash):

# if the profile file exists, we source it
if [ -f ~/.profile ]
then
  . ~/.profile
fi