diff --git a/.gitea/workflows/lint.yaml b/.gitea/workflows/lint.yaml index b831fec..9d651f8 100644 --- a/.gitea/workflows/lint.yaml +++ b/.gitea/workflows/lint.yaml @@ -14,5 +14,5 @@ jobs: shellcheck --version - name: Run Linter run: | - shellcheck penv - shellcheck jconf \ No newline at end of file + shellcheck --exclude=SC1090,SC2046 penv + shellcheck --exclude=SC1090,SC2046 jconf diff --git a/penv b/penv index d550bb8..b1ff351 100644 --- a/penv +++ b/penv @@ -43,7 +43,7 @@ create(){ exit 2 fi if [[ -d "$HOME/.envs/$name" ]]; then - echo Environment \"$name\" already exists. + echo Environment \""$name"\" already exists. exit 4 fi @@ -52,18 +52,18 @@ create(){ echo "Base python3 not found on your system. Install it using your package manager" exit 3 fi - vers=`/usr/bin/python3 -V | cut -d " " -f 2 | cut -d "." -f 1,2` + vers=$(/usr/bin/python3 -V | cut -d " " -f 2 | cut -d "." -f 1,2) echo "No version mentioned, using Python $vers" fi - if [ ! -f /usr/bin/python$vers ]; then + if [ ! -f /usr/bin/python"$vers" ]; then echo "Python $vers not installed on system." exit 7 fi - mkdir -p $HOME/.envs - /usr/bin/python$vers -m venv $HOME/.envs/$name - source $HOME/.envs/$name/bin/activate + mkdir -p "$HOME"/.envs + /usr/bin/python"$vers" -m venv "$HOME"/.envs/"$name" + source "$HOME"/.envs/"$name"/bin/activate python -m pip install ipykernel ipywidgets > /dev/stderr - python -m ipykernel install --user --name $name > /dev/stderr + python -m ipykernel install --user --name "$name" > /dev/stderr echo echo "Created \"$name\". It should be available as a Jupyter Kernel." echo "Use \"pact $name\" to activate in command line." @@ -81,12 +81,12 @@ delete(){ echo "Run \"deactivate\" to deactivate it" exit 6 fi - read -n 1 -p "Remove environment $name (y/N)? " choise + read -r -n 1 -p "Remove environment $name (y/N)? " choise case $choise in [yY]) - source $HOME/.envs/$name/bin/activate + source "$HOME"/.envs/"$name"/bin/activate echo - echo Spec `jupyter-kernelspec remove -f -y $name` + echo Spec $(jupyter-kernelspec remove -f -y "$name") deactivate rm -r "$HOME/.envs/$name" echo "Data Removed $HOME/.envs/$name" @@ -114,7 +114,7 @@ delete(){ # } activate() { - echo Use \"pact $1\" + echo Use \"pact "$1"\" } list(){ @@ -122,7 +122,7 @@ list(){ echo "PENV not initialized. Run \"penv init\"" exit 8 fi - ls $HOME/.envs + ls "$HOME"/.envs } install() { @@ -130,8 +130,8 @@ install() { echo PENV already installed exit 10 fi - cp $(realpath "$0") $HOME/.local/bin/ - mkdir -p $HOME/.envs/ + cp $(realpath "$0") "$HOME"/.local/bin/ + mkdir -p "$HOME"/.envs/ echo " pact () { if [[ -z \"\$1\" ]]; then @@ -144,17 +144,17 @@ install() { fi . \$HOME/.envs/\$1/bin/activate } - " > $HOME/.envs/.penv.funcs - grep -qxF "source \$HOME/.envs/.penv.funcs" $HOME/.bashrc || echo "source \$HOME/.envs/.penv.funcs" >> $HOME/.bashrc + " > "$HOME"/.envs/.penv.funcs + grep -qxF "source \$HOME/.envs/.penv.funcs" "$HOME"/.bashrc || echo "source \$HOME/.envs/.penv.funcs" >> "$HOME"/.bashrc echo "Initialized PENV. Restart the shell" } uninstall() { - if [[ ! -z "$VIRTUAL_ENV" ]]; then + if [[ -n "$VIRTUAL_ENV" ]]; then echo "Deactivate the existing environment before uninstalling" exit 11 fi - read -n 1 -p "REALLY UNINSTALL ALL THE ENVIRONMENTS?(y/N) " ans + read -r -n 1 -p "REALLY UNINSTALL ALL THE ENVIRONMENTS?(y/N) " ans case $ans in [yY]) echo @@ -170,9 +170,9 @@ uninstall() { return; ;; esac - sed -i "/source \$HOME\/.envs\/.penv.funcs/d" $HOME/.bashrc - rm -r $HOME/.envs - rm $HOME/.local/bin/penv + sed -i "/source \$HOME\/.envs\/.penv.funcs/d" "$HOME"/.bashrc + rm -r "$HOME"/.envs + rm "$HOME"/.local/bin/penv echo "Uninstalled PENV" } @@ -186,16 +186,16 @@ cmd=$1 case "$cmd" in new|mk) - create $2 $3 + create "$2" "$3" ;; del|rm) - delete $2 + delete "$2" ;; # setdef|sd) # setdef $2 # ;; act|ac) - activate $2 + activate "$2" ;; list|ls) list @@ -212,7 +212,7 @@ case "$cmd" in ;; *) echo "invalid command: \"$1\"" >&2 - echo $SCRIPT + echo "$SCRIPT" usage ;; esac