Skip to content
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

Regression in 0.7/1.0: shell mode doesn't handle & for backgrounding apps #28571

Open
GlenHertz opened this issue Aug 10, 2018 · 3 comments
Open
Assignees
Labels
domain:io Involving the I/O subsystem: libuv, read, write, etc.

Comments

@GlenHertz
Copy link
Contributor

In shell mode in 0.6 you could launch a process into the background with gvim foo.txt&. With 0.7+ it tries to edit the file named foo.txt& in the foreground. Without being able to launch commands in the background it makes the shell much less useful.

@StefanKarpinski
Copy link
Sponsor Member

StefanKarpinski commented Aug 14, 2018

The shell mode is due for a bunch of improvements for 1.1, this would be a good one. The story here is that shell mode used to call an actual shell, but @vtjnash changed it to just use Julia's own internal command mechanism, which fixed some issues but made it considerably less functional. In order to get this kind of thing back, we would need to implement this syntax in Julia's command mode, or maybe in a souped up shell-mode variant of command mode.

@StefanKarpinski StefanKarpinski added the domain:io Involving the I/O subsystem: libuv, read, write, etc. label Aug 14, 2018
@StefanKarpinski StefanKarpinski self-assigned this Aug 14, 2018
@GlenHertz
Copy link
Contributor Author

Sounds good. With Julia's awesome REPL I wouldn't be surprised if one day it had an awesome shell too...

@RalphAS
Copy link

RalphAS commented Jul 20, 2019

Note that if you want a real shell, you can just invoke one with a few extra characters. I find it useful for things like file globbing. At least on Linux, the following works:

julia-1.1>

shell> sh -c "ls log*"
log.1 log.2

shell> sh -c "cut -d: -f3 /etc/passwd | sort -n | tail -n5"
117
501
1000
1001
65534

shell> sh -c "gvim foo.txt &"
[spawns and backgrounds gvim]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain:io Involving the I/O subsystem: libuv, read, write, etc.
Projects
None yet
Development

No branches or pull requests

3 participants