Comments (10)
The idea behind sudo-prompt is to prefix a command with "sudo" but show an os dialog if permissions would be necessary.
So, sudo-prompt at the moment would take your command above and run:
sudo echo 'some text' > /Library/some-file.txt
...but it would also take care of the os prompt along the way.
The issue at the moment if I understand correctly is that calling that command using sudo also fails:
$ sudo echo 'some text' > /Library/some-file.txt
-bash: /Library/some-file.txt: Permission denied
The echo 'some text'
is run using sudo, but the redirection to /Library
is not.
The bash -c
trick is a good idea. I am not sure how this would affect propagating command errors out of the bash shell. I will give it a try and see if we can make the changes.
from sudo-prompt.
Yup that's it.
After some basic testing, stdout
and stderr
both propagate up to the node callback exactly as expected.
If you like I can make a PR?
from sudo-prompt.
Thanks that would be great.
from sudo-prompt.
Does the exit code also propagate?
from sudo-prompt.
I presume so but I haven't tested that, I'll give it a test when I have a few spare minutes.
from sudo-prompt.
Just tried bash -c 'exit 0';
and it doesn't seem to propagate.
from sudo-prompt.
Did a bit more testing, this does propagate signals: exec bash -c 'exit 0'
.
edit: typo.
second edit: Actually that seems to break stdout
ughh.
from sudo-prompt.
The more I test this, perhaps it's best to leave it out of the lib, unless there's a straightforward way to do it. I'm not familiar enough with the intricacies of bash.
from sudo-prompt.
Thanks for trying, at least the bash -c is documented here for those that need to redirect sudo output.
from sudo-prompt.
Using -e
flag on bash will exit immediately on error.
@davej Zero is the code for successful exists. If you want to "throw" an error you must exit with something different than zero.
http://unix.stackexchange.com/questions/15998/what-does-the-e-do-in-a-bash-shebang
from sudo-prompt.
Related Issues (20)
- 'Command failed' in Electron app HOT 1
- Not possible in Mac App Store, aka app-sandbox HOT 5
- macOS Catalina Operation not permitted HOT 1
- OS dialog prompt is not being prompted in Windows 10 HOT 1
- Operation not permitted in macOS with sudo-prompt
- Prompt shows but name and icon are not visible on macOS HOT 8
- "User did not grant permissions" if I click "Yes" too quickly on Windows? HOT 1
- `sudo-prompt` fails to detect `pkexec` or `kdesudo` in "strictly" confined snap
- Special characters handling on Linux
- Strange behaviour with Electron 9 on Win10 HOT 1
- in Eelectron app Rendering process, sudo run cp not work
- Hello, why option.name just support [a-z0-9 ] ?
- How to get elevated shell and run a command without sudo prefix HOT 1
- macOS: Application cannot be opened because the developer cannot be verified
- BigSur 11.1 issue: The authorization was denied since no user interaction was possible HOT 1
- Linux: option.env not used
- Unexpected behaviour with linux - electron.js HOT 1
- electron exe with root system privileges in linux, It's possible to do ?
- How to run multiple commands without requiring password every time HOT 6
- Any pkg similar to this, but without root/admin?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sudo-prompt.