每次打开Windows 10上的WSL Ubuntu 18.04时, 我需要运行一个脚本。

4
每次我在 Windows 10 上打开 WSL Ubuntu 18.04,我都希望自动运行这些设置。

    alias desktop='cd /mnt/c/Users/Dot/Desktop/ai_files'
    export PYTHONPATH=${PYTHONPATH}:${HOME}/ai-safety-gridworlds
    export DISPLAY=localhost:0.0


我尝试在 /etc/init.d/ 中使用以下内容创建 .sh 脚本,但它没有起作用。

    #!/bin/bash
    alias desktop='cd /mnt/c/Users/Dot/Desktop/ai_files'
    export PYTHONPATH=${PYTHONPATH}:${HOME}/ai-safety-gridworlds
    export DISPLAY=localhost:0.0


3
如果您希望每次创建一个shell时运行一个脚本,可以将其添加到您的.bashrc文件中(假设您正在使用bash)。 - MrPromethee
2
你太棒了! 我将我的三行代码添加到了/etc/bash.bashrc中,并在每次Ubuntu启动时运行它们。我使用Microsoft Store安装了Ubuntu 18.04,并使用它创建的快捷方式,我认为它是bash。 - Rogster
1
.bashrc 文件位于你的主目录中 cd ~ - JamesD
能否创建一个cron job?如果可以的话,那将是运行任何定时任务最简单的方法。 - darth vader
3个回答

5

要每次打开WSL时运行这些命令,您需要将命令附加到.bashrc文件。在bash中执行:

echo "alias desktop='cd /mnt/c/Users/Dot/Desktop/ai_files'" >> ~/.bashrc
echo "export PYTHONPATH=${PYTHONPATH}:${HOME}/ai-safety-gridworlds" >> ~/.bashrc
echo "export DISPLAY=localhost:0.0" >> ~/.bashrc

0
创建一个环境变量,使其对Ubuntu上的所有用户可见,您可以在/etc/profile.d文件夹中创建一个sh文件。 例如:
sudo vi /etc/profile.d/my_vars.sh && sudo chmod o+r /etc/profile.d/my_vars.sh

然后在那里包含你的变量。例如:

export ORACLE_HOME="/opt/oracle/instantclient_11_2"

终止并重新启动WSL。变量应该对所有用户都可访问。


0
从根目录下,你可以运行:
nano .bashrc
然后在底部输入你的命令,例如,在我的情况下:
sudo -S <<< "password" service redis-server restart
这在 Windows 10 上的 Ubuntu WSL 上可以正常工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接