Ich verwende den Github-Codespace, um den Discord.js-Bot zu testen. Darin verwende ich den Befehl fortune | owsay
使用了 fortune
和 cowsay
命令,fortune 命令使用 sudo apt install Fortune-mod
安装,cowsay 使用 <代码>sudo apt安装cowsay代码>。他们的安装目录位于“/usr/games”而不是“/bin”下,因此当我运行命令 fortune |牛说
Ich verstehe
bash: fortune: command not found bash: cowsay: command not found
Das liegt daran, dass sich /usr/games nicht in $PATH im Github-Coderaum befindet
Wenn ich „/usr/games“ zum Pfad in „/etc/profile“ und „~/.profile“ hinzufüge, verwende ich
export PATH="/usr/games:$PATH"
am Ende beider Dateien und verwenden Sie dann den Befehl „source /etc/profile“ und testen Sie später „source ~/.profile“. Diese Befehle funktionieren ... aber wenn ich versuche, den integrierten Runner von VScode zu verwenden (drücken Sie f5 und Wenn Sie die Datei ausführen, wird automatisch eine neue Shell erstellt und Node verwendet, um die Datei auszuführen, die von ihrem Befehl nicht gefunden wurde.
Ich möchte wissen, wie GitHub-Codespaces eine neue Shell ohne den neuen Pfad erstellt, den ich hinzugefügt habe. Und wie man das Verzeichnis /usr/games
zum Pfad der neuen Shell hinzufügt, die geöffnet wird, wenn vscode die Datei ausführt
虽然您在 Github Codespace 中使用的 shell 是交互式的,但它们不是登录 shell。只有登录 shell 才运行
/etc/profile
和~/.profile
文件。您可以通过运行以下命令来测试 shell 是否为登录 shell:
您可以:
.bashrc
文件等中设置PATH
;交互式非登录文件将运行此文件。尽管我认为在.profile
以外的文件中设置PATH
并不是最佳实践。bash -l
以启动一个新 shell 作为登录 shell。.vscode-remote
settings.json
文件中创建新的终端配置文件 - 转到Settings
和Remote [ Codespaces]
,单击Edit in settings.json
按钮应该可以到达这里,然后将新的配置文件添加到terminal.integrated.profiles.linux
...然后在 VS Code 中使用
bash(登录)
配置文件打开一个新终端。