-
Notifications
You must be signed in to change notification settings - Fork 7.6k
Figure out aliases #929
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This makes using
Blah. |
Usability sync generally agrees that the interactive experience sucks without the aliases. What we don't agree on is what alternatives should be offered to users who want to use the native binaries by default. Some options that have been floated include:
|
I think this is something we want to figure out sooner rather than later, so I've moved it to v0.5.0. In my opinion, a PowerShell setting to switch modes is the best first step. |
@andschwa and default would be ....? |
@vors my personal opinion: the PowerShell aliases enabled; because you're running PowerShell. Eventually we're going to want a first-time startup "getting started" guide for PowerShell anyway, and would state that this is an available setting. |
@BrucePay any updates on this? |
Usability sync today reiterated that the aliases should go back in. (Piping to Leaving Bruce as an assignee to determine the best path forward with the above mitigations. @andschwa: we probably need someone else assigned to do the work to put the aliases back. |
I just had a conversation with @jpsnover and he is very clear that we are not putting aliases back. We should create inbox |
It's probably worth pointing out that PowerShell aliases don't work at all like aliases in Linux, so we'd need to either define It might also be worth spending some time analyzing modules in the gallery to see how many wouldn't work as is with the aliases removed - |
The aliases are not in today, and we should make sure for Aug17 we have a healthy discussion about the pros/cons of the alias situations for people to join into. |
Looks like we have a story, closing the issue. |
@rkeithhill So let me clearify: For users want to use Powershell, they want types, right? However your native tools, like Therefore, typical Unix users may want to type the identical command, but get the typed result directly. So there is two options:
|
Eventually, they probably will. That said, I work with a number of devs I've started on PowerShell by merely selling them on using it with Git and Posh-Git (something CMD can't provide). They rarely pipeline anything at this point but I expect them to get there. That point is, the git.exe utility behaves under PowerShell just as it behaves under CMD. Easy transition. To me, ls (like ps, grep, sed, awk, gcc, curl, etc) is just another native utility that any "shell" should be able to run. Now, if someone is ready for and wants the object emitting command for listing container contents, they can use BTW I don't think trying to make |
@rkeithhill I am not going to make |
@be5invis Isn't the easier option at that point a separate function that runs There's always going to be two separate worlds here, one native, one typed. PowerShell already services both of them, by being able to execute native programs and cmdlets. I personally don't see any benefit (just a massive undertaking in development effort) in trying to add a layer above native commands that replicates their parameter metadata within PowerShell. Besides, what would you do about |
@ygra It is okay either. |
@be5invis, perhaps this is where a bit of disconnect occurs. No, they do not want types. The user wants to get their work, or play, done. The user knows that Is |
@Liturgist I think what @be5invis means is that if people went to the trouble of switching to Powershell (as opposed to staying with Bash), it is because they want something Powershell provides. If people wanted a stream of text out of |
@Gaelan So I shouldn't use PowerShell if I need to use gcc or git? What's wrong with letting folks decide if they want text (ls) or objects (gci)? There are more reasons to use PowerShell than just its OO nature - powerful as it is. Heck I'd rather use PowerShell just for its C/C# like control flow statements (vs if/fi and switch case/esac) and its proper type system (where numbers are numbers and not strings). |
On a *nix system, if users just wanted to use the shell for gcc or git they wouldn't bother with PowerShell, because the shell that came with their OS does that perfectly well.
Perhaps if someone was already using PowerShell they would prefer it because of that, but I doubt that someone would install PS just for that.
I feel like the reasons a new user would switch to PS on *nix largely revolve around the OO and the type system. We should make it as easy as possible for new users to get started with PS–if I saw something about PS, tried to check it out, only to discover that I needed to relearn everything about the command line to use it, I would probably be much less likely to bother with learning it than if I could fire up PS, type |
Sorry, but I strongly disagree. As a Linux user, I want to use PowerShell instead of shell that came with my OS. For everything. Because it's awesome, you know :) Heck, I am even packaging PowerShell for NixOS right now just to use it for everything. Please consider that our target users are not only native Unix users who accidentally use Windows+PowerShell, but also Windows users who accidentally use Unix+PowerShell ;) |
I would also prefer to keep aliases compatible across OS whenever they are valid on these platforms and use an escape character (like |
Actually, one more point for using a single-character escaping: bash already does it. https://twitter.com/climagic/status/806536501232340992
|
Is the answer to aliases solved by enabling WSL (Windows Subsystem for Linux)? This will provide native sed, awk, ls, etc. commands in a bash shell. While it is still beta code for Windows 10, surely it will be coming and made available in Server 2016 and 2012. |
@Liturgist Currently, the WSL is a very separate environment from PowerShell. The commands are not callable from a PowerShell session. Additionally, this would likely be considered a regression by many current Windows PowerShell users as many scripts would break if they received the output from, say, GNU |
@Liturgist: @bgshacklett is on right here. The problem is not that something happens when you type |
The original issue with conflicting aliases with native cmds has been addressed. If there is a need to have the capability to add back popular Windows PowerShell aliases, that should be a separate issue. |
Opened #3610 to capture secondary issue |
The PowerShell aliases that conflicted with Linux and OS X were removed in #786, specifically commit 7d9f439.
However, new discussion is happening on how to handle this better than just removing the aliases.
The text was updated successfully, but these errors were encountered: