- Python 3.6+ (tested on 3.6.0)
python3 -m pip install niceshell
cd /tmp/
version=2.0.3 # Choose desired version
wget -c "https://github.com/Andrew15-5/niceshell/releases/download/v${version}/niceshell-${version}-py3-none-any.whl"
python3 -m pip -U --user install niceshell-${version}-py3-none-any.whl
from niceshell import *
ext = "py"
process1 = ls(f"*.{ext}", batch=True)
if process1.exit_code():
print("No Python scripts here. :(")
print("stderr:", process1.error_output(), end='')
exit(1)
process2 = ls(f"*.{ext}", True).shell("head -n 5")
print("stdout:", process2.output(), end='')
files = process2.get_lines()
ln(files, "/tmp/").wait()
Due to different preferences among coders some things like:
- raised error instead of silently returned error code or None
- type of raised error and its message;
- behavior of edge cases (the way parameter's data is handled);
- parameter names and their ordinal position
- behavior of command with provided input text (with sudo)
can be inconvenient to some extent for someone and be perfect for others. Therefore, I encourage everyone to test result of each function, method, variable, constant, etc. to be 100% sure of how your script/program/app will handle every situation.
There are some tests in "tests" directory (./niceshell/tests/) to get you started. And of course you can see implementation of whatever the module provides for better understanding of what you are looking for.
Note: list can be exteneded in future updates.
- __init__
- GID ($USER's group ID)
- GROUP ($USER's group name)
- HOME ($USERS's home dir aka '~')
- UID ($USER's ID)
- USER ($USER)
- core
- expose_tilde()
- normalize_short_and_long_args()
- quotes_wrapper()
- shell()
- Shell
- ShortArgsOption
- extra
- force_sudo_password_promt()
- get_root_privileges()
- get_root_privileges_or_exit()
- has_root_privileges()
- list_dirs()
- list_files()
- gnu_coreutils
- cd()
- cp()
- ln()
- ls()
- mv()
- pwd()
- rm()
- Add grep
- Add dirname and basename
- Add pwd
- Add functions to get dirs and files from path
- Add ability to install module via pip
- Add ability to get command's output and pipe it to another command
- Add function that check if sudo can be used without password
- Add ability to provide input to command in core.Shell
- Add cd
- Add mv
- Add rm
- Add cp