mirror of
				https://github.com/ohmybash/oh-my-bash.git
				synced 2024-05-11 05:55:37 +00:00 
			
		
		
		
	aliases/package-manager: Introduce OMB_USE_SUDO and OMB_ALIAS_PACKAGE_MANAGER_SUDO
This commit is contained in:
		
							
								
								
									
										11
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								README.md
									
									
									
									
									
								
							| @@ -176,12 +176,15 @@ If you would like to replace an existing module (theme/plugin/aliases/complet) b | ||||
|  | ||||
| ### Configuration | ||||
|  | ||||
| #### SUDO logic | ||||
| oh-my-bash is using logic to use sudo if EUID variable and sudo doesn't return false. | ||||
| #### Disable internal uses of `sudo` | ||||
|  | ||||
| To disable this use `OMB_USE_ROOT` variable with `false` value in your `~/.bashrc` | ||||
| Some plugins of oh-my-bash internally use `sudo` when it is necessary.  However, this might clutter with the `sudo` log.  To disable the use of `sudo` by oh-my-bash, `OMB_USE_SUDO` can be set to `false` in `~/.bashrc`. | ||||
|  | ||||
| To overwrite this you can use `OMB_ROOT` with `true` value. | ||||
| ```bash | ||||
| OMB_USE_SUDO=false | ||||
| ``` | ||||
|  | ||||
| Each plugin might provides finer configuration variables to control the use of `sudo` by each plugin. | ||||
|  | ||||
| ## Getting Updates | ||||
|  | ||||
|   | ||||
| @@ -1,61 +1,70 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Created by Jacob Hrbek github.com in 2019 | ||||
| #  --------------------------------------------------------------------------- | ||||
|  | ||||
| # Logic for root usage | ||||
| if [ -n "$EUID" ] && _omb_util_binary_exists emerge sudo; then | ||||
|   [ -z "$OMB_USE_ROOT" ] && export OMB_ROOT=true | ||||
| # A local temporary variable | ||||
| declare _omb_tmp_sudo | ||||
|  | ||||
| # Switch for the use of "sudo" | ||||
| _omb_tmp_sudo= | ||||
| if [[ ${OMB_ALIAS_PACKAGE_MANAGER_SUDO+set} ]]; then | ||||
|   _omb_tmp_sudo=${OMB_ALIAS_PACKAGE_MANAGER_SUDO:+$OMB_ALIAS_PACKAGE_MANAGER_SUDO } | ||||
| elif [[ ${OMB_USE_SUDO-true} == true ]]; then | ||||
|   if ((EUID != 0)) && _omb_util_binary_exists sudo; then | ||||
|     _omb_tmp_sudo='sudo ' | ||||
|   fi | ||||
| fi | ||||
|  | ||||
| # Portage - Enoch Merge | ||||
| if _omb_util_binary_exists emerge; then | ||||
|   alias em="${OMB_ROOT:+sudo }emerge" # Enoch Merge | ||||
|   alias es="${OMB_ROOT:+sudo }emerge --search" # Enoch Search | ||||
|   alias esync="${OMB_ROOT:+sudo }emerge --sync" # Enoch SYNC | ||||
|   alias eb="${OMB_ROOT:+sudo }ebuild" # Enoch Build | ||||
|   alias er="${OMB_ROOT:+sudo }emerge -c" # Enoch Remove | ||||
|   alias ers="${OMB_ROOT:+sudo }emerge -c" # Enoch Remove Systempackage | ||||
|   alias emfu="${OMB_ROOT:+sudo }emerge --sync && ${OMB_ROOT:+sudo }emerge -uDUj @world" | ||||
|   alias elip="${OMB_ROOT:+sudo }eix-installed -a" # Enoch List Installed Packages | ||||
|   alias em="${_omb_tmp_sudo}emerge" # Enoch Merge | ||||
|   alias es="${_omb_tmp_sudo}emerge --search" # Enoch Search | ||||
|   alias esync="${_omb_tmp_sudo}emerge --sync" # Enoch SYNC | ||||
|   alias eb="${_omb_tmp_sudo}ebuild" # Enoch Build | ||||
|   alias er="${_omb_tmp_sudo}emerge -c" # Enoch Remove | ||||
|   alias ers="${_omb_tmp_sudo}emerge -c" # Enoch Remove Systempackage | ||||
|   alias emfu="${_omb_tmp_sudo}emerge --sync && ${_omb_tmp_sudo}emerge -uDUj @world" | ||||
|   alias elip="${_omb_tmp_sudo}eix-installed -a" # Enoch List Installed Packages | ||||
| fi | ||||
|  | ||||
| # Paludis - Cave | ||||
| if _omb_util_binary_exists cave; then | ||||
|   alias cave="${OMB_ROOT:+sudo }cave" | ||||
|   alias cr="${OMB_ROOT:+sudo }cave resolve" # Cave Resolve | ||||
|   alias cui="${OMB_ROOT:+sudo }cave uninstall" # Cave UnInstall | ||||
|   alias cs="${OMB_ROOT:+sudo }cave show" # Cave Show | ||||
|   alias cli="${OMB_ROOT:+sudo }cave print-ids --matching '*/*::/'" # Cave List Installed | ||||
|   alias cave="${_omb_tmp_sudo}cave" | ||||
|   alias cr="${_omb_tmp_sudo}cave resolve" # Cave Resolve | ||||
|   alias cui="${_omb_tmp_sudo}cave uninstall" # Cave UnInstall | ||||
|   alias cs="${_omb_tmp_sudo}cave show" # Cave Show | ||||
|   alias cli="${_omb_tmp_sudo}cave print-ids --matching '*/*::/'" # Cave List Installed | ||||
| fi | ||||
|  | ||||
| # Advanced Packaging Tool - APT | ||||
| if _omb_util_binary_exists apt; then | ||||
|   alias apt="${OMB_ROOT:+sudo }apt" # Advanced Packaging Tool | ||||
|   alias aptfu="${OMB_ROOT:+sudo }apt update -y && ${OMB_ROOT:+sudo }apt upgrade -y && ${OMB_ROOT:+sudo }apt dist-upgrade -y && ${OMB_ROOT:+sudo }apt autoremove -y" | ||||
|   alias apti="${OMB_ROOT:+sudo }apt install -y" # Apt install | ||||
|   alias apts="${OMB_ROOT:+sudo }apt-cache search" # Apt search | ||||
|   alias aptr="${OMB_ROOT:+sudo }apt remove -y" # Apt remove | ||||
|   alias aptar="${OMB_ROOT:+sudo }apt autoremove -y" # Apt Auto Remove | ||||
|   alias aptli="${OMB_ROOT:+sudo }apt list --installed" | ||||
|   alias apt="${_omb_tmp_sudo}apt" # Advanced Packaging Tool | ||||
|   alias aptfu="${_omb_tmp_sudo}apt update -y && ${_omb_tmp_sudo}apt upgrade -y && ${_omb_tmp_sudo}apt dist-upgrade -y && ${_omb_tmp_sudo}apt autoremove -y" | ||||
|   alias apti="${_omb_tmp_sudo}apt install -y" # Apt install | ||||
|   alias apts="${_omb_tmp_sudo}apt-cache search" # Apt search | ||||
|   alias aptr="${_omb_tmp_sudo}apt remove -y" # Apt remove | ||||
|   alias aptar="${_omb_tmp_sudo}apt autoremove -y" # Apt Auto Remove | ||||
|   alias aptli="${_omb_tmp_sudo}apt list --installed" | ||||
| fi | ||||
|  | ||||
| # Debian PacKaGe - DPKG | ||||
| if _omb_util_binary_exists dpkg; then | ||||
|   alias dpkg="${OMB_ROOT:+sudo }dpkg" | ||||
|   alias dpkg="${_omb_tmp_sudo}dpkg" | ||||
| fi | ||||
|  | ||||
| # # Zypper = Zen Yast Package Program (ZYPP?) | ||||
| # if _omb_util_binary_exists zypper; then | ||||
| #   # Yast = Yet Another Silly/Setup Thing/Thing | ||||
| #   alias lcp="${OMB_ROOT:+sudo }zypper" | ||||
| #   alias lcpi="${OMB_ROOT:+sudo }zypper install" | ||||
| #   alias lcps="${OMB_ROOT:+sudo }zypper search" | ||||
| #   alias lcpsi="${OMB_ROOT:+sudo }zypper source-install" | ||||
| #   alias lcpr="${OMB_ROOT:+sudo }zypper remove" | ||||
| #   alias lcp="${_omb_tmp_sudo}zypper" | ||||
| #   alias lcpi="${_omb_tmp_sudo}zypper install" | ||||
| #   alias lcps="${_omb_tmp_sudo}zypper search" | ||||
| #   alias lcpsi="${_omb_tmp_sudo}zypper source-install" | ||||
| #   alias lcpr="${_omb_tmp_sudo}zypper remove" | ||||
| #   if grep -q 'openSUSE Tumbleweed' /etc/os-release; then | ||||
| #     # Zypper update kills the system - LCP | ||||
| #     alias lcpfu="${OMB_ROOT:+sudo }zypper dup" | ||||
| #     alias lcpfu="${_omb_tmp_sudo}zypper dup" | ||||
| #     # Because Geeko uses sublime3 to call sublime_text instead of something that makes sence like 'subl'.. | ||||
| #     alias subl="${OMB_ROOT:+sudo }sublime3" | ||||
| #     alias subl="${_omb_tmp_sudo}sublime3" | ||||
| #   fi | ||||
| # fi | ||||
|  | ||||
| unset -v _omb_tmp_sudo | ||||
|   | ||||
| @@ -49,6 +49,10 @@ OSH_THEME="font" | ||||
| # Would you like to use another custom folder than $OSH/custom? | ||||
| # OSH_CUSTOM=/path/to/new-custom-folder | ||||
|  | ||||
| # To disable the uses of "sudo" by oh-my-bash, please set "false" to | ||||
| # this variable.  The default behavior for the empty value is "true". | ||||
| OMB_USE_SUDO=true | ||||
|  | ||||
| # Which completions would you like to load? (completions can be found in ~/.oh-my-bash/completions/*) | ||||
| # Custom completions may be added to ~/.oh-my-bash/custom/completions/ | ||||
| # Example format: completions=(ssh git bundler gem pip pip3) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user