Aug 19, 2016 12:00
viafanf,
microsoft,
roads,
music,
fantasy,
computers,
fraud,
rape,
language,
web,
society,
women,
cities,
thefuture,
terrorism,
linux,
usa,
satire,
russia,
games,
cyborg,
edinburgh,
reddit,
transport,
publishing,
water,
links,
history,
trams,
interview,
cars,
technology,
cute,
automation,
funny,
comedy,
construction,
epicfail,
visualisation,
dogs,
race,
opensource,
brains,
internet,
ireland,
startrek,
olympics,
republicans,
writing,
names,
housing,
english,
politics,
alcohol,
fun
I don't know much about PowerShell (I never really got out of the habit of doing my Windows scripting by old-school .bat files or else resorting to Cygwin), but I had a quick look at this, and the thing that struck me as at least potentially interesting about it is its use of an SSH subsystem.
SSH subsystems (for those who don't already know) are a means of standardising the invocation of a particular SSH-transported service by abstracting away the local details of the command line you need to find the service program. For example, if you want to run the SFTP file transfer system on a typical Linux system, you could SSH to the target host and ask it to run /usr/lib/openssh/sftp-server; but that strategy falls down when on some less normally set up machine it turns out to be somewhere else such as /usr/local/lib or /usr/lib/someotherssh or C:\Program Files\ShonkySFTP 1.0 or (god help you) SYS$SYSTEM. So instead you ask for the subsystem name "sftp", and it's the job of each SSH server to be preloaded with the local knowledge of where to find the implementing program.
So this makes it look as if MS's aim is to arrange that there's a standard way to contact a given machine and give it commands, no matter whether it's Windows or Linux or Mac - in all cases (supposing this whole thing sees the wide uptake they're presumably hoping for) you would speak the same network protocol (SSH), start it up in the same way (request the subsystem name "powershell"), and then even the actual commands you want to run will be in the same syntax (Powershell in all cases, rather than bash vs cmd.exe depending on OS). It's not completely inconceivable to me that that might actually manage to provide some ways to automate cross-OS networked scriptery more easily than was previously possible.
But of course the devil is in the details, and many ideas that look good at this high-level overview turn out to be let down by some fiddly missing feature that you'd never notice from this distance but that turns out to be completely critical. So who knows.
Reply
On the other hand, it is definitely the best shell I've used, and I adore piping objects rather than text between commands.
Reply
Leave a comment