PowerShell on LINUX?





I know it’s not Christmas yet, but I did get a nice early gift.
My main laptop has been very reliable over the last few years.
My old Lenovo ThinkPad (11e) has been great, but lately I’ve been thinking I’d like to upgrade. I’ve been looking for something to replace the 11e, and finally (after much consideration and spec comparison) settled on a newer 11e with twice the memory and a i3. It looks and feels as rugged as the old machine, but it’s a little faster. The unit came with Windows 10 pro which I replaced with Ubuntu 18.10.
I did play with it for a while with Windows, but after waiting for updates I decided I should stop fooling around and set it up the way I want.

I did test a few other Linux LTS Distros, but Ubuntu 18.10 works great on the new 11e – actually better than it did on the old ThinkPad. I think that was more related to the old Bios and driver/hardware limitations.
The one thing that I do like about Windows 10 has been PowerShell. Now that PowerShell is available for Ubuntu I might not need a Windows machine. I was never too excited about running Ubuntu under Windows, as a virtual box, or duel-boot.
I’ll probably load Win10 on the old 11e just to have on hand for special projects, but I’d like to keep the new laptop as a Linux only machine.

I know ToughBooks have been the benchmark for rugged laptops for fieldwork, but I’ve had great luck with the 11e (Education series) I paired solid hardware (ThinkPad) with a great Operating System (Ubuntu/Linux).
PowerShell is working – although not exactly the same as it would on Windows, but it does seem very promising.

PS /home/eph> Test-Connection LocalHost > Test_Connection.txt
Reply from 127.0.0.1: bytes=0 time=0ms TTL= Reply from 127.0.0.1: bytes=0 time=0ms TTL= Reply from 127.0.0.1: bytes=0 time=0ms TTL= Reply from 127.0.0.1: bytes=0 time=0ms TTL= Ping complete. 

Source Destination Replies


X LocalHost {System.Net.NetworkInformation.PingReply, System.Net.NetworkInformation.PingReply, System.Net.NetworkInformation.PingRep…

PS /home/eph> cat Test_Connection.txt

Source Destination Replies


X LocalHost {System.Net.NetworkInformation.PingReply, System.Net.NetworkInformation.PingReply, System.Net.NetworkInformation.PingRep…

PS /home/eph> ping localhost -c 6 > Ping_test.txt
PS /home/eph> Get-Content Ping_test.txt
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.017 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.072 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.072 ms
64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.072 ms
64 bytes from localhost (127.0.0.1): icmp_seq=5 ttl=64 time=0.071 ms
64 bytes from localhost (127.0.0.1): icmp_seq=6 ttl=64 time=0.074 ms

— localhost ping statistics —
6 packets transmitted, 6 received, 0% packet loss, time 127ms
rtt min/avg/max/mdev = 0.017/0.063/0.074/0.020 ms
PS /home/eph> cat Ping_test.txt
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.017 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.072 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.072 ms
64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.072 ms
64 bytes from localhost (127.0.0.1): icmp_seq=5 ttl=64 time=0.071 ms
64 bytes from localhost (127.0.0.1): icmp_seq=6 ttl=64 time=0.074 ms

— localhost ping statistics —
6 packets transmitted, 6 received, 0% packet loss, time 127ms
rtt min/avg/max/mdev = 0.017/0.063/0.074/0.020 ms

One nice attribute you have avaiable when using Powershell in Linux is the availability of standard Linux commands in the same terminal.

If PowerShell is the only thing keeping you tied to Windows, you might want to take a look at the Linux version.