Скажите, если мы запускаем linux внутри WSL? - PullRequest
0 голосов
/ 16 января 2020

У меня есть несколько linux систем, включая те, которые работают как WSL (Windows Подсистема для Linux) на Windows машине.

Я бы хотел, чтобы этот скрипт / program / что угодно может сказать, работает ли он внутри WSL. Я мог бы сделать что-то хакерское, например поиск наличия / mnt / c / ..., но это может быть просто диск Windows, смонтированный в системе Linux.

Есть ли чистый способ сделать это или WSL слишком похож на виртуальную машину, чтобы знать, что мы не работаем внутри Windows?

1 Ответ

1 голос
/ 16 января 2020
uname -a

Мне кажется вполне разумным решением.

~# uname -a
Linux Eve 4.4.0-18362-Microsoft #476-Microsoft Fri Nov 01 16:53:00 PST 2019 x86_64 x86_64 x86_64 GNU/Linux

Четкое обозначение «Microsoft» в uname дает понять, что мы работаем в WSL. Теперь, согласно вашему примеру, эта может быть просто поддельной строкой uname. Но для места, где резина встречается с дорогой, это более чем достаточно.

...