diff --git a/Makefile.am b/Makefile.am index 7d1f8d5..d989866 100755 --- a/Makefile.am +++ b/Makefile.am @@ -4,7 +4,7 @@ AUTOMAKE_OPTIONS = -Wno-portability SUBDIRS = src -SHELL = /bin/bash +SHELL = /bin/sh BUILDHOST ?= $(shell [ -f .env ] && . ./.env 2>/dev/null && printf '%s' "$$BUILDHOST") TOR_BUILDHOST ?= $(shell [ -f .env ] && . ./.env 2>/dev/null && printf '%s' "$$TOR_BUILDHOST") @@ -61,7 +61,7 @@ sig: perl -i -pe "s/20\d\d\d\d\d\d/$(YYYYMMDD)/" parallel-latest.tar.*directive gpg --clearsign --yes parallel-latest.tar.bz2.directive - (echo '#!/bin/bash'; \ + (echo '#!/bin/sh'; \ echo; \ echo "# To check the signature run:"; \ echo "# echo | gpg"; \ @@ -75,7 +75,7 @@ sig: ) > parallel-$(YYYYMMDD).tar.bz2.sig chmod +x parallel-$(YYYYMMDD).tar.bz2.sig - (echo '#!/bin/bash'; \ + (echo '#!/bin/sh'; \ echo; \ echo "# To check the signature run:"; \ echo "# echo | gpg"; \ @@ -126,7 +126,7 @@ alphaupload: perl -i -pe "s/20\d\d\d\d\d\d/$(YYYYMMDD)/" parallel-latest.tar.*directive gpg --clearsign --yes parallel-latest.tar.bz2.directive - (echo '#!/bin/bash'; \ + (echo '#!/bin/sh'; \ echo; \ echo "# To check the signature run:"; \ echo "# echo | gpg"; \ @@ -139,7 +139,7 @@ alphaupload: gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \ ) > parallel-$(YYYYMMDD).tar.bz2.sig - (echo '#!/bin/bash'; \ + (echo '#!/bin/sh'; \ echo; \ echo "# To check the signature run:"; \ echo "# echo | gpg"; \ diff --git a/Makefile.in b/Makefile.in index eeb280a..0436c23 100644 --- a/Makefile.in +++ b/Makefile.in @@ -241,7 +241,7 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ SET_MAKE = @SET_MAKE@ -SHELL = /bin/bash +SHELL = /bin/sh STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ @@ -842,7 +842,7 @@ sig: perl -i -pe "s/20\d\d\d\d\d\d/$(YYYYMMDD)/" parallel-latest.tar.*directive gpg --clearsign --yes parallel-latest.tar.bz2.directive - (echo '#!/bin/bash'; \ + (echo '#!/bin/sh'; \ echo; \ echo "# To check the signature run:"; \ echo "# echo | gpg"; \ @@ -856,7 +856,7 @@ sig: ) > parallel-$(YYYYMMDD).tar.bz2.sig chmod +x parallel-$(YYYYMMDD).tar.bz2.sig - (echo '#!/bin/bash'; \ + (echo '#!/bin/sh'; \ echo; \ echo "# To check the signature run:"; \ echo "# echo | gpg"; \ @@ -907,7 +907,7 @@ alphaupload: perl -i -pe "s/20\d\d\d\d\d\d/$(YYYYMMDD)/" parallel-latest.tar.*directive gpg --clearsign --yes parallel-latest.tar.bz2.directive - (echo '#!/bin/bash'; \ + (echo '#!/bin/sh'; \ echo; \ echo "# To check the signature run:"; \ echo "# echo | gpg"; \ @@ -920,7 +920,7 @@ alphaupload: gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \ ) > parallel-$(YYYYMMDD).tar.bz2.sig - (echo '#!/bin/bash'; \ + (echo '#!/bin/sh'; \ echo; \ echo "# To check the signature run:"; \ echo "# echo | gpg"; \ diff --git a/src/env_parallel b/src/env_parallel index 9c946ca..7c24987 100755 --- a/src/env_parallel +++ b/src/env_parallel @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/bin/sh # Copyright (C) 2016-2026 Ole Tange, http://ole.tange.dk and Free # Software Foundation, Inc. @@ -23,17 +23,19 @@ grepq() { # grep -q for systems without -q - grep >/dev/null 2>/dev/null "$@" + grep "$@" >/dev/null 2>&1 } installer() { - source="$1" - script="$2" - into="$3" - if grepq $script "$into"; then - true already installed + source_command=$1 + script=$2 + into=$3 + + if grepq "$script" "$into"; then + : already installed else - echo $source \`which $script\` >> "$into" + script_path=$(command -v "$script" 2>/dev/null) || script_path=$script + printf '%s %s\n' "$source_command" "$script_path" >> "$into" fi } @@ -47,11 +49,11 @@ while test $# -gt 0; do installer . env_parallel.zsh "$HOME"/.zshenv installer source env_parallel.ksh "$HOME"/.kshrc installer source env_parallel.mksh "$HOME"/.mkshrc - echo $SHELL | grepq /pdksh && + printf '%s\n' "${SHELL-}" | grepq /pdksh && installer . env_parallel.pdksh "$HOME"/.profile - echo $SHELL | grepq /ash && + printf '%s\n' "${SHELL-}" | grepq /ash && installer . env_parallel.ash "$HOME"/.profile - echo $SHELL | grepq /dash && + printf '%s\n' "${SHELL-}" | grepq /dash && installer . env_parallel.dash "$HOME"/.profile installer source env_parallel.csh "$HOME"/.cshrc installer source env_parallel.tcsh "$HOME"/.tcshrc @@ -71,7 +73,7 @@ while test $# -gt 0; do exit ;; *) - echo "Unknown option: $key" + printf '%s\n' "Unknown option: $key" ;; esac shift # past argument or value @@ -91,7 +93,7 @@ bash: Put this in $HOME/.bashrc: . env_parallel.bash fish: Put this in $HOME/.config/fish/config.fish: . (which env_parallel.fish) E.g. by doing: - echo '. (which env_parallel.fish)' >> $HOME/.config/fish/config.fish + printf '%s\n' '. (which env_parallel.fish)' >> "$HOME/.config/fish/config.fish" Supports: variables, aliases, functions, arrays ksh: Put this in $HOME/.kshrc: source env_parallel.ksh diff --git a/src/parset b/src/parset index e3c36f1..df1ec3d 100755 --- a/src/parset +++ b/src/parset @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/bin/sh # Copyright (C) 2016-2026 Ole Tange, http://ole.tange.dk and Free # Software Foundation, Inc. @@ -23,17 +23,19 @@ grepq() { # grep -q for systems without -q - grep >/dev/null 2>/dev/null "$@" + grep "$@" >/dev/null 2>&1 } installer() { - source="$1" - script="$2" - into="$3" - if grepq $script $into; then - true already installed + source_command=$1 + script=$2 + into=$3 + + if grepq "$script" "$into"; then + : already installed else - echo $source \`which $script\` >> $into + script_path=$(command -v "$script" 2>/dev/null) || script_path=$script + printf '%s %s\n' "$source_command" "$script_path" >> "$into" fi } @@ -42,36 +44,36 @@ while test $# -gt 0; do case $key in -i|--install) - installer . env_parallel.bash $HOME/.bashrc - installer . env_parallel.sh $HOME/.shrc - installer . env_parallel.zsh $HOME/.zshenv - installer source env_parallel.ksh $HOME/.kshrc - installer source env_parallel.mksh $HOME/.kshrc - echo $SHELL | grepq /pdksh && - installer . env_parallel.pdksh $HOME/.profile - echo $SHELL | grepq /ash && - installer . env_parallel.ash $HOME/.profile - echo $SHELL | grepq /dash && - installer . env_parallel.dash $HOME/.profile - installer source env_parallel.csh $HOME/.cshrc - installer source env_parallel.tcsh $HOME/.tcshrc - mkdir -p $HOME/.config/fish - grepq env_parallel.fish $HOME/.config/fish/config.fish || - echo '. (which env_parallel.fish)' >> $HOME/.config/fish/config.fish + installer . env_parallel.bash "$HOME/.bashrc" + installer . env_parallel.sh "$HOME/.shrc" + installer . env_parallel.zsh "$HOME/.zshenv" + installer source env_parallel.ksh "$HOME/.kshrc" + installer source env_parallel.mksh "$HOME/.kshrc" + printf '%s\n' "${SHELL-}" | grepq /pdksh && + installer . env_parallel.pdksh "$HOME/.profile" + printf '%s\n' "${SHELL-}" | grepq /ash && + installer . env_parallel.ash "$HOME/.profile" + printf '%s\n' "${SHELL-}" | grepq /dash && + installer . env_parallel.dash "$HOME/.profile" + installer source env_parallel.csh "$HOME/.cshrc" + installer source env_parallel.tcsh "$HOME/.tcshrc" + mkdir -p "$HOME/.config/fish" + grepq env_parallel.fish "$HOME/.config/fish/config.fish" || + printf '%s\n' '. (which env_parallel.fish)' >> "$HOME/.config/fish/config.fish" echo 'Installed env_parallel in:' - echo " " $HOME/.bashrc - echo " " $HOME/.shrc - echo " " $HOME/.zshenv - echo " " $HOME/.config/fish/config.fish - echo " " $HOME/.kshrc - echo " " $HOME/.mkshrc - echo " " $HOME/.profile - echo " " $HOME/.cshrc - echo " " $HOME/.tcshrc + echo " " "$HOME/.bashrc" + echo " " "$HOME/.shrc" + echo " " "$HOME/.zshenv" + echo " " "$HOME/.config/fish/config.fish" + echo " " "$HOME/.kshrc" + echo " " "$HOME/.mkshrc" + echo " " "$HOME/.profile" + echo " " "$HOME/.cshrc" + echo " " "$HOME/.tcshrc" exit ;; *) - echo "Unknown option: $key" + printf '%s\n' "Unknown option: $key" ;; esac shift # past argument or value