New Windows 10 Preview For PCs With Bash, Cross-Device Cortana Released
An anonymous reader writes: Microsoft has released a new Windows 10 preview for PCs. The preview, dubbed build 14316, comes with a range of features including support for Bash, which Microsoft had announced at its developer conference Build last week. Users interested in it can enable the feature by turning on Developer Mode (detailed instructions here), searching for "Windows Features," choosing "Turn Windows features on or off," and enable Windows Subsystem for Linux (Beta). To get Bash installed, open Command Prompt and type in "bash" (without the quotes.) Other features included in the new build include low battery notification, find my phone (ring my phone), and the ability to share map directions across devices. Additionally, the company has also released a new universal Skype app.
Only took 15 years to get tcp/ip into windows.
Makes sense it took another 15 to get it a reasonable shell.
Let me get this straight: to enable Developer Mode, you need to go into settings (okay), update (wait, what?), security (why?), for developers (could be named a bit better IMHO).
No wonder I always feel lost when I use Microsoft products. They can't even make a proper navigation tree.
Shouldn't that be Linux Subsystem for Windows?
It seems like you are ssh to a server should I save the password for you?
There are a number of things Cygwin does that don't quite work on Windows 10 + Bash, such as setting up GCC and C libraries and environment variables for building OSS projects out of the box. But this is a good start.
I have to disagree. It takes some time and effort to get comfortable with Bash, but once you do it's really powerful and logical. I used to script most things in Perl or Python but found that for a lot of uses, Bash was more than adequate once I put in the effort.
Just like C, Perl, Python, or anything, Bash scripts can be indeed a nightmare if poorly coded. But properly coded Bash scripts are easy to work with.
I've developed plenty of sophisticated scripts in Bash. Just because you haven't learned Bash doesn't mean it isn't useful, it just means you lack experience and knowledge.
For some of us, having a common scripting language on Windows and *nix, one which has decades worth of scripts behind, is more valuable than OOP concepts. For chrissakes, even on a fairly well-speced system, the amount of time Powershell takes to start is astonishing, whereas I have Linux installs on crappy Cyrix processors with 256mb of RAM where Bash pops up right away.
The world's burning. Moped Jesus spotted on I50. Details at 11.
It runs them. Not recompiled binaries, but actual ELF binaries.
This makes me wonder what Windows could be say 10 years from now... Windows 10 BSD with GNU userland?
Linux binary compatibility? So wait, this means I should be able to take a random simple binary without a lot of dependencies, scp it (yay) to my Windows box and run it?
It's pretty much a port of the console based user space from Ubuntu, which will make a lot of developers happy (more options good). But, given how it works, you can't use bash to script windows commands (like you could in Cygwin/MSYS2). Nor can you expect to run some unix commands from the console either. On the other hand, the whole apt toolkit is at your hands, so you can install a ton of software and not wait for a Cygwin port.
I'm sure I'll get labeled as a shill (I'm not, it'd be nice, I could use the extra cash), but this is a major boost to Windows 10 as a developer OS. I get all the Windows tools I like and all the Linux bits I'm likely to want. And, yes, they are developing the .Net ecosystem into a really nice cross-platform environment for a lot of platforms.
Don't get me wrong, this is a squeeze on desktop Linux. There's likely no way they'll have the subsystem able to host X (or Wayland or Mir), it's not worth the effort. And there's no plans to port any of the Universal Windows Platform GUI stuff to Linux (again, no pay off).
Could be trolling, but please help me understand: "PowerShell is far superior (OOP, etc)" I can't think of any cases where OOP would be beneficial for a scripting language. Can anyone provide a good example?
Just use Python. It'll let you accomplish the same tasks, likely in a fraction of the time, and with a much better result. Plus your script will likely be more portable, too, even to Windows!
Sure, as long as you have the same version of Python installed, your script might be portable. I can't remember when was the last time I had to check $BASH_VERSION.
Bash is a relic from a pre-Python world. It's time to move away from bash.
How about using the right tool for each job?
Use Bash for simple tasks that involve running programs, piping their output, checking their exit code, etc.
Use Perl for text manipulation, regular expressions, complex data structures, complex logic, one-liners, etc.
Use Python for your code to be readable by an 8 year old.
Cygwin is slow. Maybe not for a few commands here and there but you can see noticeable slow downs when running some scripts or makefiles or things like that. This is because Cygwin is forcing full Unix compatibility, the point is not to have a Unix look-alike but to allow compiling and running code written for Unix.
But that's inherently slow on Windows where a process sticks around long term rather than the one-process-per-command fork/exec style of Unix. So a Windows native bash would probably not be just put a wrapper around the original bash source code but instead build on top of win32 and other dlls.
Cygwin also uses forward slash for directory separators which might be just a bit too much for Microsoft to use.
Vodka helps.
The point is that MS are touting bash support as a milestone for their compatibility layer.
What is being downloaded is a minimal amd64 Ubuntu image. I don't know the specific technical details but it's like a chroot mounted at c:/users/ChunderDownunder/Linux.
So its not just bash, pick any package from your local Ubuntu mirror - including the list of commands you mentioned.
command line only, a UI isn't a goal, initially.
Depends on what you consider a "script", I suppose. You can write pretty complicated stuff in things that are called "scripting languages" like perl and there is some (broken) OO in perl5. Ruby is basically a scripting language and OO is pretty much built-in so that everything is an object.
Now, if you mean a minimalist scripting language like bash, then yeah, probably little need for OO since constructing a whole object to merely send myself an listing of my mail queue at 2am every night via cron is probably overkill.
Of course, I have worked for some companies that fell absolutely in love with absurdly long shell scripts, so perhaps it enables those sorts of goofballs who really want to cling to the 1970s.
Windows PowerShell Integrated Scripting Environment (ISE):
---> C:\Windows\System32\WindowsPowerShell\v1.0\powershell_ise.exe
Or you can launch PowerShell via the console:
---> C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
This has happened on several of our Win10 pro machines, and the solutions found online don't work. We didn't have to nuke the installs, but it did mean deleting roaming profiles and the local copy. We are now backing profiles again after a few years of not doing it, but there are definite issues with Win10's start menu and none of the fixes work.
And don't get me started on Edge. Needless to say within a few weeks we had a GPO rolled out that made Firefox or Chrome the default browser.
The world's burning. Moped Jesus spotted on I50. Details at 11.
I've said many times, Linux can't 'beat' MS, because MS can always do MS Linux.
*sighs* The world's changing and the dinosaurs need to go extinct on their own, lest they come hunting us.
Yes, yes I have read all the comments down to here. Funny, I never knew bash was so terrible. Does that mean I'm gonna have to change my evil ways or am I still allowed to use it? How about my own custom alias file, is that a relic of bygone years or can I keep it? 'Cause I really don't want to learn Python yet. No, I do not. I sort of plan on learning it - and even got some materials to do so. But I'd like to do it on my own terms and not have to give up the old ways quite so quickly.
Yes, yes I do have a terminal (terminator) window open on boot. Hell, even when I use(d) Windows, I like a command prompt window open.
Oddly, it's because I type pretty quickly and don't need to move my hands to the mouse. I just use the keyboard for a lot of things - including much of my web navigation. Maybe that's why I just can't get into the tablet format? I keep trying but no luck so far. Ah well... I'm going to go lay and egg somewhere creative and then climb into a tar pit.
"So long and thanks for all the fish."
It looks like a glorified VM instance. There's no real integration. There's no suggestion it will end up on the server editions, and no suggestion it will be in any way integrated into Windows in a way that anyone could use as an alternative to PowerShell or CMD.EXE. Yes, I suppose for cross platform developers it might take one step out of testing some code on the other operating system, but really it sounds only slightly less of a pain that simple running an Ubuntu install virtualized in Windows.
If this is the definition of "running Bash under windows", then we've been able to do that for years.
The world's burning. Moped Jesus spotted on I50. Details at 11.
I've heard the argument and I somewhat agree with it yet I've yet to see anyone replace bash with Python as their 'default' terminal. It's just 'simpler' to learn the shitty language to do what it is built to do than look up and implement the correct order into a function call every time I want to do something.
Because this:
from os import listdir
from os.path import isfile, join
onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
May be not as shitty but still not as simple as this:
ls -l
Custom electronics and digital signage for your business: www.evcircuits.com
No. The problem with bash is not bash itself but the fact that it takes most of it's features from the underlying userland and THAT varies from Unix to Unix.
Your fixation with Python is itself an ancient relic that doesn't exactly match the year you're trying to post to.
A Pirate and a Puritan look the same on a balance sheet.
That's an interesting difference from the old Subsystem for Unix Applications (SUA, formerly known as Service For Unix or SFU). SUA/SFU were source compatible with many (though by no means all) user-mode Linux programs, but the actual binaries had to be compiled as PE format (targeting the POSIX subsystem, though, not the Win32 subsystem the way normal Windows programs and Cygwin binaries do). They didn't have .EXE extensions (unless you wanted them to) and followed Unix-like loading behavior, but they were still PE binaries, not ELF.
There's no place I could be, since I've found Serenity...
If you're counting from 1995, when Cygwin was first released, it took Microsoft only 4 years to get native Unix shells on Windows (and that's counting from when Microsoft made them available itself, not from when a third party offered them on top of the NT kernel's POSIX subsystem). https://en.wikipedia.org/wiki/...
For many years, Windows (NT family only) had a POSIX-compatible subsystem built into it. Like the Win32 subsystem, this "Subsystem for Unix Applications" (SUA) took POSIX system calls and translated them into NT native syscalls (the NT kernel does not recognize either Win32 or POSIX syscalls, but rather implements its own calls that are a superset of both in functionality; Win32's CreateProcess cannot properly implement POSIX's fork, but NtCreateProcess supports both). SUA also provided a Unix-like filesystem (with case sensitivity, Unix file permissions including stuff like setuid/setgid, working /proc and /dev, and so on).
Microsoft provided a bare-bones set of tools and libraries for SUA, called Interix. As of Windows 7 (Interix 6.7), this included two Unix shells, C shell and Korn shell, which both suck compared to Bash but were sufficient to bootstrap the system. Interix also included a working GCC build toolchain. From this minimal start, you could install additional packages (NetBSD, Debian, and I believe Gentoo all supported building and managing their packages for Interix, plus there was an Interix-specific package repository that Microsoft funded). There were thousands of such packages available, from Bash to OpenSSH (client and server) to Apache httpd to Git to... you get the idea. X11 client libraries, plus a Win32 X11 server (typically Xming), meant you could even run graphical software.
Microsoft deprecated SUA and stopped all development on Interix with Win8.0; in Win8.1 and Win10 (until now?) the subsystem itself is unavailable. I'm really curious to see if they built this new "Subsystem for Linux" on top of the old POSIX subsystem, or did something else (and if the latter... what?)
There's no place I could be, since I've found Serenity...
Even better was that if you had more than 512 entries in your start menu (which isnt hard, because that includes folders, readme's, uninstalls, utils, etc etc) most of your applications would not be displayed in your start menu.
So you'd have a start menu, it would just be useless.
In Soviet Russia the insensitive clod is YOU!
Instead of just calling it a "Preview", will someone at Microsoft please clarify whether Windows 10 is an Alpha or Beta test product?
Actually, that would be ALGOL
.
You more likely could have rebuilt the windows system image in Powershell using some obscure dism command. I've done it once or twice for people, but I can't even begin to remember how to Google the solution.
Don't worry, you have your tinfoil hat to protect you.
I do not want your cheap brainburning drugs. They are useless for work. And I am a working man today.
So now it is okay to do Windows bashing?
No good deed goes unpunished.
Windows runs a lot more than just bash too, since this isn't a port of bash, but an entire Linux kernel compatibility layer. It's basically reverse WINE.
If you want to SSH into Windows after installing WSL, you type the same thing you would on your Linux box: "sudo apt-get install openssh-server"
What does a touch screen have to do with anything? Win10 apps don't require touchscreens.
--News article reporting a new Web-based viral exploit for the Win10 "bash" shell in 5..4..3..
.
== WolfriderV6 == I'm willing to admit that *I just might* be wrong... Are you??