vscode devcontainer "postCreateCommand": "alias 'll=ls -alF'"

gr4*_*t3d 6 visual-studio-code vscode-remote

我正在使用默认的 MS 配置(在 Visual Studio Code ->“远程容器:添加开发容器配置文件...”中)并将以下内容添加到

.devcontainer/devcontainer.json
"postCreateCommand": "alias ll='ls -alF'"
Run Code Online (Sandbox Code Playgroud)

创建后在 vscode 终端中手动使用该命令会产生所需的ll.

我如何指定"postCreateCommand"-entry 才能获取别名?

Bug*_*nch 9

如我错了请纠正我。您希望别名ll在容器内可用。您可以通过以下方式实现这一目标:

  1. 将其添加到 Dockerfile 中:
    RUN echo "alias ll='ls -alF'" >> /etc/bash.bashrc

如果您想保持 Dockerfile 不变:

  1. 使用 vscode 中的 postCreateCommand (如果您不想更改 dockerfile): "postCreateCommand": "echo alias ll=\\'ls -alF\\' >> /etc/bash.bashrc" 这会将别名直接添加到系统范围的bashrc 文件中。该别名将在容器内启动的所有交互式 shell 中可用。

    或者

    "postCreateCommand": "echo alias ll=\\'ls -alF\\' >> ~/.bash_aliases" 这会将别名添加到专门用于别名的单独文件中,并且不需要容器中的 root 访问权限。请注意:您需要在 .bashrc 中获取 .bash_aliases,否则将无法工作。(来源:@user317808

如果您遇到“权限被拒绝”的情况,那么您也可以这样做:(
"postCreateCommand": "echo alias ll=\\'ls -alF\\' >> /home/vscode/.bashrc"信用:@Damian

  • 为了避免需要 root 权限,它可以帮助任何人,我使用 ~/.bash_aliases 来完成此操作。 (2认同)