diff options
author | Andreas Schwab <schwab@linux-m68k.org> | 2012-11-02 18:33:33 +0100 |
---|---|---|
committer | Andreas Schwab <schwab@linux-m68k.org> | 2012-11-03 08:06:12 +0100 |
commit | a542b3894da05c9377beadfe13d68bd7387ebcc9 (patch) | |
tree | 8003456b7e6ef87ae4a418c3e30f172f72195a7e /scripts/cross-test-ssh.sh | |
parent | f62c8abcfbf0d2e7f0a6c6c1dde53158e6fc4e59 (diff) | |
download | glibc-a542b3894da05c9377beadfe13d68bd7387ebcc9.tar.gz glibc-a542b3894da05c9377beadfe13d68bd7387ebcc9.tar.xz glibc-a542b3894da05c9377beadfe13d68bd7387ebcc9.zip |
Make cross-test-ssh.sh compatible with a remote POSIX sh
Diffstat (limited to 'scripts/cross-test-ssh.sh')
-rwxr-xr-x | scripts/cross-test-ssh.sh | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/scripts/cross-test-ssh.sh b/scripts/cross-test-ssh.sh index f09c98ec11..51b0da924a 100755 --- a/scripts/cross-test-ssh.sh +++ b/scripts/cross-test-ssh.sh @@ -108,37 +108,25 @@ bourne_quote () done } -# Remove unnecessary newlines from a Bourne shell command sequence. -remove_newlines () -{ - sed -n \ - -e '1h' \ - -e '2,$H' \ - -e '${g - s/\([^\]\)\n/\1; /g - p - }' -} - # Unset all variables from the blacklist. Then echo all exported -# variables. The 'export -p' command adds backslashes for environment -# variables which contain newlines. +# variables. blacklist_exports () { - (unset ${env_blacklist}; export -p) | remove_newlines + (unset ${env_blacklist}; export -p) | sed 's/^declare -x/export/' } -# Produce properly quoted Bourne shell arguments for 'env' to carry -# over the current environment, less blacklisted variables. +# Produce commands to carry over the current environment, less blacklisted +# variables. exports="$(blacklist_exports)" -exports="${exports:+${exports}; }" # Transform the current argument list into a properly quoted Bourne shell # command string. command="$(bourne_quote "$@")" # Add commands to set environment variables and the current directory. -command="${exports}cd $PWD; ${command}" +command="${exports} +cd $(bourne_quote "$PWD") +${command}" # HOST's sshd simply concatenates its arguments with spaces and # passes them to some shell. We want to force the use of /bin/sh, |