SAPIEN Tools – Setup WSL Bash with PowerShell Core in PrimalScript

In this blog post, we examine setting up WSL (Windows Subsystem for Linux) “Bash with PowerShell Core” in PrimalScript’sConsole Window” list.

HowToPSCore_01_2018-01-16_9-40-55

Prepare Bash File

In order to open PowerShell Core in Linux, the bash shell needs to be open and pwsh should be run from the console. So, a bash file needs to be created to call Powershell Core.

1. In Windows 10 (Build 16299 or higher), from the start menu, open the Ubuntu Bash console.

BashPSCore_00_2018-01-16_18-24-37

2. Use a Linux text editor (emacs24 or vim) to create the following bash file as “pwsh-nonAdmin“, and save the file:

“pwsh -NoExit -Command Remove-Module PSReadLine”

BashPSCore_01_2018-01-16_18-24-37

3. Test by executing the Linux bash file “pwsh-nonAdmin”.

bash /home/maxt/pwsh-nonAdmin

BashPSCore_01a_2018-01-16_18-24-37

 

Adding the Bash file to PrimalScript

Follow the same steps from this blog post:
SAPIEN Tools – How to work with PowerShell Core in PrimalScript

In this case, I’ve selected my SAPIEN Technologies folder to save this DOS batch file*. Then, I manually entered this line in the “Command Line” field for the “New Shell“:

bash /home/maxt/pwsh-nonAdmin

*Note: Make sure to select a folder where this file is safely stored.

Then, follow the same steps from the previous blog to rename, save, restart, and test the command shell in PrimalScript’sConsole Window”.

BashPSCore_03_2018-01-16_18-24-37

BashPSCore_04_2018-01-16_18-24-37

BashPSCore_05_2018-01-16_18-24-37

 

Additional Tips

It is recommended to setup a second PowerShell Core to execute as “Administrator“, so the bash file may include the following line:

sudo pswh -NoExit -Command Remove-Module PSReadLine

In the event that cross-platform script files are created, execute the Linux command “dos2unix” within Linux. This command will convert text files with DOS (or Mac) line breaks to Unix line breaks.