Don't call external `uname` when `$OSTYPE` will do (#1911)

* lib/helpers: use `$OSTYPE` instead of `$(uname)`

* plugins/osx: use `$OSTYPE` instead of `$(uname)`

* plugins/boot2docker: use `$OSTYPE` instead of `$(uname)`

* plugins/python: use `$OSTYPE` instead of `$(uname)`

* plugins/base: use `$OSTYPE` instead of `$(uname)`

Alsö, use `[[` instead of `[` as the former has less insane argument handling being shell syntax rather than a builtin command that must emulate being a real binary

* completion/brew: use `$OSTYPE` instead of `$(uname)`

* completion/git: use `$OSTYPE` instead of `$(uname)`

Alsö, use `[[` instead of `[`.

* completion/fabric: use `$OSTYPE` instead of `uname`

* theme/demula: use `$OSTYPE` instead of `$(uname)`

* theme/rana: use `$OSTYPE` instead of `$(uname)`
pull/1916/head
John D Pell 2021-08-14 00:20:12 -07:00 committed by GitHub
parent e321a3d657
commit de9ea54b81
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 30 additions and 29 deletions

View File

@ -5,7 +5,7 @@ about-completion "brew completion"
# Load late to make sure `system` completion loads first # Load late to make sure `system` completion loads first
# BASH_IT_LOAD_PRIORITY: 375 # BASH_IT_LOAD_PRIORITY: 375
if [[ "$(uname -s)" != 'Darwin' ]]; then if [[ "$OSTYPE" != 'darwin'* ]]; then
_log_warning "unsupported operating system - only 'Darwin' is supported" _log_warning "unsupported operating system - only 'Darwin' is supported"
return 0 return 0
fi fi

View File

@ -41,8 +41,8 @@ export FAB_COMPLETION_CACHED_TASKS_FILENAME=".fab_tasks~"
# Set command to get time of last file modification as seconds since Epoch # Set command to get time of last file modification as seconds since Epoch
case `uname` in case "$OSTYPE" in
Darwin|FreeBSD) 'darwin'*|'freebsd'*)
__FAB_COMPLETION_MTIME_COMMAND="stat -f '%m'" __FAB_COMPLETION_MTIME_COMMAND="stat -f '%m'"
;; ;;
*) *)

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Only operate on MacOS since there are no linux paths # Only operate on MacOS since there are no linux paths
if [[ "$(uname -s)" != 'Darwin' ]] ; then if [[ "$OSTYPE" != 'darwin'* ]] ; then
_log_warning "unsupported operating system - only 'Darwin' is supported" _log_warning "unsupported operating system - only 'Darwin' is supported"
return 0 return 0
fi fi
@ -24,7 +24,7 @@ _git_bash_completion_paths=(
# Load the first completion file found # Load the first completion file found
for _comp_path in "${_git_bash_completion_paths[@]}" ; do for _comp_path in "${_git_bash_completion_paths[@]}" ; do
if [ -r "$_comp_path" ] ; then if [[ -r "$_comp_path" ]] ; then
_git_bash_completion_found=true _git_bash_completion_found=true
source "$_comp_path" source "$_comp_path"
break break

4
lib/helpers.bash 100644 → 100755
View File

@ -11,8 +11,8 @@ BASH_IT_LOAD_PRIORITY_SEPARATOR="---"
# To use this in Bash-it for inline replacements with `sed`, use the following syntax: # To use this in Bash-it for inline replacements with `sed`, use the following syntax:
# sed "${BASH_IT_SED_I_PARAMETERS[@]}" -e "..." file # sed "${BASH_IT_SED_I_PARAMETERS[@]}" -e "..." file
BASH_IT_SED_I_PARAMETERS=(-i) BASH_IT_SED_I_PARAMETERS=(-i)
case "$(uname)" in case "$OSTYPE" in
Darwin*) BASH_IT_SED_I_PARAMETERS=(-i "") 'darwin'*) BASH_IT_SED_I_PARAMETERS=(-i "")
esac esac
function _command_exists () function _command_exists ()

View File

@ -33,7 +33,7 @@ function myip ()
for url in ${list[*]} for url in ${list[*]}
do do
res=$(curl -fs "${url}") res=$(curl -fs "${url}")
if [ $? -eq 0 ];then if [[ $? -eq 0 ]];then
break; break;
fi fi
done done
@ -48,7 +48,7 @@ function pickfrom ()
example '$ pickfrom /usr/share/dict/words' example '$ pickfrom /usr/share/dict/words'
group 'base' group 'base'
local file=$1 local file=$1
[ -z "$file" ] && reference $FUNCNAME && return [[ -z "$file" ]] && reference $FUNCNAME && return
length=$(cat $file | wc -l) length=$(cat $file | wc -l)
n=$(expr $RANDOM \* $length \/ 32768 + 1) n=$(expr $RANDOM \* $length \/ 32768 + 1)
head -n $n $file | tail -1 head -n $n $file | tail -1
@ -70,7 +70,7 @@ function passgen ()
# Create alias pass to passgen when pass isn't installed or # Create alias pass to passgen when pass isn't installed or
# BASH_IT_LEGACY_PASS is true. # BASH_IT_LEGACY_PASS is true.
if ! command -v pass &>/dev/null || [ "$BASH_IT_LEGACY_PASS" = true ] if ! command -v pass &>/dev/null || [[ "$BASH_IT_LEGACY_PASS" = true ]]
then then
alias pass=passgen alias pass=passgen
fi fi
@ -129,15 +129,15 @@ function usage ()
about 'disk usage per directory, in Mac OS X and Linux' about 'disk usage per directory, in Mac OS X and Linux'
param '1: directory name' param '1: directory name'
group 'base' group 'base'
if [ $(uname) = "Darwin" ]; then if [[ "$OSTYPE" == 'darwin'* ]]; then
if [ -n "$1" ]; then if [ -n "$1" ]; then
du -hd 1 "$1" du -hd 1 "$1"
else else
du -hd 1 du -hd 1
fi fi
elif [ $(uname) = "Linux" ]; then elif [[ "$OSTYPE" = 'linux'* ]]; then
if [ -n "$1" ]; then if [[ -n "$1" ]]; then
du -h --max-depth=1 "$1" du -h --max-depth=1 "$1"
else else
du -h --max-depth=1 du -h --max-depth=1
@ -145,7 +145,8 @@ function usage ()
fi fi
} }
if [ ! -e "${BASH_IT}/plugins/enabled/todo.plugin.bash" ] && [ ! -e "${BASH_IT}/plugins/enabled/*${BASH_IT_LOAD_PRIORITY_SEPARATOR}todo.plugin.bash" ]; then if [[ ! -e "${BASH_IT}/plugins/enabled/todo.plugin.bash" ]] && [[ ! -e "${BASH_IT}/plugins/enabled/*${BASH_IT_LOAD_PRIORITY_SEPARATOR}todo.plugin.bash" ]]
then
# if user has installed todo plugin, skip this... # if user has installed todo plugin, skip this...
function t () function t ()
{ {
@ -180,11 +181,11 @@ mkiso ()
group 'base' group 'base'
if type "mkisofs" > /dev/null; then if type "mkisofs" > /dev/null; then
[ -z ${1+x} ] && local isoname=${PWD##*/} || local isoname=$1 [[ -z ${1+x} ]] && local isoname=${PWD##*/} || local isoname=$1
[ -z ${2+x} ] && local destpath=../ || local destpath=$2 [[ -z ${2+x} ]] && local destpath=../ || local destpath=$2
[ -z ${3+x} ] && local srcpath=${PWD} || local srcpath=$3 [[ -z ${3+x} ]] && local srcpath=${PWD} || local srcpath=$3
if [ ! -f "${destpath}${isoname}.iso" ]; then if [[ ! -f "${destpath}${isoname}.iso" ]]; then
echo "writing ${isoname}.iso to ${destpath} from ${srcpath}" echo "writing ${isoname}.iso to ${destpath} from ${srcpath}"
mkisofs -V ${isoname} -iso-level 3 -r -o "${destpath}${isoname}.iso" "${srcpath}" mkisofs -V ${isoname} -iso-level 3 -r -o "${destpath}${isoname}.iso" "${srcpath}"
else else

View File

@ -3,7 +3,7 @@ about-plugin 'Helpers to get Docker setup correctly for boot2docker'
# Note, this might need to be different if you have an older version # Note, this might need to be different if you have an older version
# of boot2docker, or its configured for a different IP # of boot2docker, or its configured for a different IP
if [[ `uname -s` == "Darwin" ]]; then if [[ "$OSTYPE" == 'darwin'* ]]; then
export DOCKER_HOST="tcp://192.168.59.103:2376" export DOCKER_HOST="tcp://192.168.59.103:2376"
export DOCKER_CERT_PATH="~/.boot2docker/certs/boot2docker-vm" export DOCKER_CERT_PATH="~/.boot2docker/certs/boot2docker-vm"
export DOCKER_TLS_VERIFY=1 export DOCKER_TLS_VERIFY=1

View File

@ -2,7 +2,7 @@ cite about-plugin
about-plugin 'osx-specific functions' about-plugin 'osx-specific functions'
# OS X: Open new tabs in same directory # OS X: Open new tabs in same directory
if [ $(uname) = "Darwin" ]; then if [[ $OSTYPE == 'darwin'* ]]; then
if type update_terminal_cwd > /dev/null 2>&1 ; then if type update_terminal_cwd > /dev/null 2>&1 ; then
if ! [[ $PROMPT_COMMAND =~ (^|;)update_terminal_cwd($|;) ]] ; then if ! [[ $PROMPT_COMMAND =~ (^|;)update_terminal_cwd($|;) ]] ; then
PROMPT_COMMAND="${PROMPT_COMMAND%;};update_terminal_cwd" PROMPT_COMMAND="${PROMPT_COMMAND%;};update_terminal_cwd"
@ -46,13 +46,13 @@ function dock-switch() {
example '$ dock-switch 2d' example '$ dock-switch 2d'
group 'osx' group 'osx'
if [ $(uname) = "Darwin" ]; then if [[ "$OSTYPE" = 'darwin'* ]]; then
if [ $1 = 3d ] ; then if [[ $1 = 3d ]] ; then
defaults write com.apple.dock no-glass -boolean NO defaults write com.apple.dock no-glass -boolean NO
killall Dock killall Dock
elif [ $1 = 2d ] ; then elif [[ $1 = 2d ]] ; then
defaults write com.apple.dock no-glass -boolean YES defaults write com.apple.dock no-glass -boolean YES
killall Dock killall Dock
@ -90,7 +90,7 @@ function prevcurl() {
param '1: url' param '1: url'
group 'osx' group 'osx'
if [ ! $(uname) = "Darwin" ] if [[ ! $OSTYPE = 'darwin'* ]]
then then
echo "This function only works with Mac OS X" echo "This function only works with Mac OS X"
return 1 return 1
@ -103,7 +103,7 @@ function refresh-launchpad() {
example '$ refresh-launchpad' example '$ refresh-launchpad'
group 'osx' group 'osx'
if [ $(uname) = "Darwin" ];then if [[ "$OSTYPE" = 'darwin'* ]];then
defaults write com.apple.dock ResetLaunchPad -bool TRUE defaults write com.apple.dock ResetLaunchPad -bool TRUE
killall Dock killall Dock
else else

View File

@ -1,7 +1,7 @@
cite about-plugin cite about-plugin
about-plugin 'alias "shttp" to SimpleHTTPServer' about-plugin 'alias "shttp" to SimpleHTTPServer'
if [ $(uname) = "Linux" ] if [[ "$OSTYPE" == 'linux'* ]]
then then
alias shttp='python2 -m SimpleHTTPServer' alias shttp='python2 -m SimpleHTTPServer'
else else
@ -16,7 +16,7 @@ function pyedit() {
xpyc=`python -c "import os, sys; f = open(os.devnull, 'w'); sys.stderr = f; module = __import__('$1'); sys.stdout.write(module.__file__)"` xpyc=`python -c "import os, sys; f = open(os.devnull, 'w'); sys.stderr = f; module = __import__('$1'); sys.stdout.write(module.__file__)"`
if [ "$xpyc" == "" ]; then if [[ "$xpyc" == "" ]]; then
echo "Python module $1 not found" echo "Python module $1 not found"
return -1 return -1

2
themes/demula/demula.theme.bash 100644 → 100755
View File

@ -98,7 +98,7 @@ prompt() {
local MOVE_CURSOR_RIGHTMOST='\033[500C' local MOVE_CURSOR_RIGHTMOST='\033[500C'
local MOVE_CURSOR_5_LEFT='\033[5D' local MOVE_CURSOR_5_LEFT='\033[5D'
if [ $(uname) = "Linux" ]; if [[ "$OSTYPE" = 'linux'* ]]
then then
PS1="${TITLEBAR}${SAVE_CURSOR}${MOVE_CURSOR_RIGHTMOST}${MOVE_CURSOR_5_LEFT} PS1="${TITLEBAR}${SAVE_CURSOR}${MOVE_CURSOR_RIGHTMOST}${MOVE_CURSOR_5_LEFT}
$(safe_battery_charge)${RESTORE_CURSOR}\ $(safe_battery_charge)${RESTORE_CURSOR}\

2
themes/rana/rana.theme.bash 100644 → 100755
View File

@ -181,7 +181,7 @@ prompt() {
local MOVE_CURSOR_RIGHTMOST='\033[500C' local MOVE_CURSOR_RIGHTMOST='\033[500C'
local MOVE_CURSOR_5_LEFT='\033[5D' local MOVE_CURSOR_5_LEFT='\033[5D'
if [ $(uname) = "Linux" ]; if [[ "$OSTYPE" == 'linux'* ]];
then then
PS1="${TITLEBAR} PS1="${TITLEBAR}
${SAVE_CURSOR}${MOVE_CURSOR_RIGHTMOST}${MOVE_CURSOR_5_LEFT}\ ${SAVE_CURSOR}${MOVE_CURSOR_RIGHTMOST}${MOVE_CURSOR_5_LEFT}\