Ich mache ein Bash-Skript. Mein Custom bashrc, um genau zu sein. Und ich muss separate Konfigurationen haben, abhängig davon, "Linux" ich bin (das Windows 10 Linux-Subsystem oder tatsächliche Linux).Wie man Linux von Windows 10 Bash während der Herstellung von Bash-Skripten zu unterscheiden
Wie kann ich sie unterscheiden?
Dinge, die ich versucht:
$OSTYPE
- beidelinux-gnu
uname -a
zurückkehren - beide ähnliche RückkehrLinux COMPUTER_NAME_HERE 3.4.0+ #1 PREEMPT Thu Aug 1 17:06:05 CST 2013 x86_64 x86_64 x86_64 GNU/Linux
lsb_release -a
- beide Rückubuntu xx.xx
cat /etc/issue.net
- beideUbuntu 14.04.4 LTS
ld -v
zurückkehren - beide RückkehrGNU ld (GNU Binutils for Ubuntu) 2.24
Der einzige Weg, die ich gefunden habe, diese Arbeit zu machen, ist ein spezifischen Benutzername für das Windows-Subsystem zu setzen, und verwenden Sie $USER
, aber das ist keine Option, ich bin zu verwenden, bereit. Ich brauche das, um aus der Box zu arbeiten, ohne benutzerdefinierte Benutzernamen, Umgebungsvariablen usw.
Hmm überprüfen, was ist das Linux-Subsystem für Windows 10? Wie installiert man es? Wie auch immer, ich denke, jede Windows-Bash erkennt Pfade im Windows-Stil, in denen Laufwerksbuchstaben enthalten sind. Überprüfen Sie also, ob 'c: /' existiert und './c: /' nicht. –
@ n.m. Es ist etwas, wie Linux-System unter Windows .. Nicht wie Landstreicher oder andere (wo Sie Linux als virtuelles System starten), sondern Linux-Befehle, übersetzt in Windows (auf Kernel-Ebene). Mehr kann ich nicht erklären, da ich gerade selbst davon lerne. Einfach "Ubuntu for Windows" googlen und finden. Ich muss sagen, ich bin ziemlich aufgeregt über diese, wie ich Windows liebe, aber es ist schwer, es als Entwicklung OS zu verwenden. (Speziell für RubyOnRails) – PragmaticEd
Ah so ist es wie Wein in die andere Richtung. Ordentlich! –