30Jun

Πώς να εκτελέσετε εντολές Linux από έξω από το Bash Shell στα Windows 10

Τα Windows 10 περιλαμβάνουν ένα υποκείμενο "Υποσύστημα Windows για Linux" για την εκτέλεση εφαρμογών Linux, αλλά είναι προσβάσιμα μόνο μέσω του κελύφους Bash.Ωστόσο, υπάρχει ένας τρόπος εκτέλεσης εφαρμογών Linux χωρίς να ξεκινήσετε πρώτα ένα παράθυρο Bash.

Αυτό είναι δυνατό χάρη στην εντολή bash -c.Χρησιμοποιήστε το για να εκτελέσετε τις εντολές του Linux μέσω Command Prompt και PowerShell ή ακόμα και να δημιουργήσετε μια συντόμευση επιφάνειας εργασίας που εκτελεί μια εντολή ή ένα πρόγραμμα Linux όταν ξεκινάει.

Τρόπος εκτέλεσης εντολών Linux στη γραμμή εντολών ή PowerShell

Πριν κάνετε οτιδήποτε από αυτό, θα πρέπει να εγκαταστήσετε και να ρυθμίσετε το κέλυφος Bash των Windows 10.Αφού κάνετε, μπορείτε να ανοίξετε ένα παράθυρο γραμμής εντολών και να εκτελέσετε την ακόλουθη εντολή για να εκτελέσετε λογισμικό Linux έξω από ένα παράθυρο Bash:

bash -c "εντολή"

Για παράδειγμα, ας υποθέσουμε ότι θέλετε να εγκαταστήσετε το πακέτο emacs μέσω apt-get.Θα εκτελέσετε την ακόλουθη εντολή σε ένα παράθυρο γραμμής εντολών:

bash -c "sudo apt-get install emacs"

Όταν χρησιμοποιείτε το bash -c, τα Windows θα εκκινήσουν ένα κέλυφος Bash στο παρασκήνιο και θα περάσουν την εντολή σε αυτό.Η εντολή θα τρέξει μέχρι να ολοκληρωθεί και στη συνέχεια να τερματιστεί, μαζί με το κέλυφος Bash.Οποιοδήποτε εξόδου τερματικού τρέχει η τρέχουσα εντολή θα εμφανιστεί απευθείας στο παράθυρο της Γραμμής εντολών, αντί για ένα ξεχωριστό παράθυρο κελύφους Bash.

Αυτό το τέχνασμα σας επιτρέπει επίσης να εκτελείτε εντολές Linux στο PowerShell, ακριβώς όπως θα έπρεπε να εκτελέσετε ένα κανονικό εκτελέσιμο παράθυρο των Windows.Μπορείτε να το κάνετε αυτό εκτελώντας απευθείας το αρχείο. exe όπως θα κάνατε σε ένα παράθυρο γραμμής εντολών ή μέσω οποιασδήποτε άλλης μεθόδου εκτέλεσης εκτελέσιμων αρχείων στο PowerShell.

bash -c "uname -a"

Όπως και με ένα παράθυρο γραμμής εντολών, η έξοδος της εντολής θα εμφανιστεί απευθείας στο PowerShell.Αυτές οι μέθοδοι μπορούν να χρησιμοποιηθούν για να προσθέσετε εντολές Linux σε ένα αρχείο δέσμης ή σε ένα PowerShell script.

Τρόπος εκτέλεσης εντολών Linux από το παράθυρο διαλόγου "Εκτέλεση" ή από το μενού "Έναρξη"

Αυτό το τέχνασμα λειτουργεί επίσης για την εκτέλεση εντολών από το παράθυρο διαλόγου "Εκτέλεση", από το μενού "Έναρξη" ή από οποιοδήποτε πρόγραμμα εκκίνησης εφαρμογών τρίτων κατασκευαστών.

Για παράδειγμα, για να ξεκινήσει το vi από το παράθυρο διαλόγου Εκτέλεση, θα έπρεπε να πατήσετε τα Windows + R στο πληκτρολόγιό σας και στη συνέχεια να εκτελέσετε την ακόλουθη εντολή:

bach -c "vi"

Ο επεξεργαστής κειμένου vi θα εμφανιστεί στο δικό του παράθυρο.

Αυτό λειτουργεί επίσης και για το μενού Έναρξη, ώστε να μπορείτε να πληκτρολογήσετε την ίδια εντολή απευθείας στο μενού Έναρξη και να πατήσετε το Enter για να το εκτελέσετε ως εντολή.

Τρόπος εκτέλεσης εντολών Linux με συντόμευση επιφάνειας εργασίας

Η εντολή bash -c καθιστά επίσης δυνατή την εκκίνηση εφαρμογών Linux μέσω συντόμευσης στην επιφάνεια εργασίας.Για παράδειγμα, ας υποθέσουμε ότι θέλετε να ξεκινήσετε τον επεξεργαστή κειμένου vi μέσω μιας συντόμευσης επιφάνειας εργασίας.Κάνατε δεξιό κλικ στην επιφάνεια εργασίας, τοποθετήστε το δείκτη στο στοιχείο Νέο & gt;Νέα συντόμευση και εισαγάγετε τον ακόλουθο στόχο:

bash -c "vi"

Μπορείτε τώρα να αποθηκεύσετε τη συντόμευση και θα ξεκινήσει vi όταν κάνετε διπλό κλικ.

Είναι ενδιαφέρον ότι το συγκεκριμένο τέχνασμα λειτουργεί επίσης για την εκκίνηση γραφικών εφαρμογών Linux από συντόμευση επιφάνειας εργασίας.Εγκαταστήστε ένα διακομιστή X και ρυθμίστε γραφικές εφαρμογές desktop Linux.Θα πρέπει να είστε σε θέση να δημιουργήσετε συντομεύσεις για να τις ξεκινήσετε άμεσα.

Ωστόσο, θα πρέπει να τα ξεκινήσετε ως εξής:

bash -c "DISPLAY =: 0 εντολή"

Ενώ μπορείτε να εκκινήσετε τις εντολές Bash από αλλού στα Windows, δεν υπάρχει τρόπος να εκτελέσετε λογισμικό ή εκτελέσιμα Windows απευθείας από ένα κέλυφος Bashπαράθυρο.