Skip to content

Instantly share code, notes, and snippets.

@DanBurkhardt
Last active February 16, 2024 14:05
Show Gist options
  • Save DanBurkhardt/ec0e61431b985248f5b2f225b2a56b83 to your computer and use it in GitHub Desktop.
Save DanBurkhardt/ec0e61431b985248f5b2f225b2a56b83 to your computer and use it in GitHub Desktop.
a simple script to install "sshpass" on macOS
# Install "sshpass" on macOS.
#
# - sshpass allows you to easily automate password entry
# prompts for ssh sessions.
#
# Don't mess around with terminal if you
# don't know what any of this means, please.
# Evaluate for learning purposes at your own risk.
#
# Licensed under MIT. See below.
#!/bin/sh
if [ "$(which sshpass)" != '' ]
then
echo "sshpass already installed."
exit 0
fi
if [ "$(which brew)" = '' ]; then
echo "homebrew installation not detected, first install homebrew"
exit 1
else
echo "tapping alternative source for sshpass"
brew tap esolitos/ipa
brew install sshpass
fi
# see manpage for usage: https://linux.die.net/man/1/sshpass
# License: MIT
# Copyright 2020, Gigabitelabs
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
# of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@m4r1k
Copy link

m4r1k commented Jul 20, 2020

Hey, cool work!

We should check the availability of the brew cli and not homebrew (which is the project). See my fork

$ uname -a
Darwin m4r1k 19.5.0 Darwin Kernel Version 19.5.0: Tue May 26 20:41:44 PDT 2020; root:xnu-6153.121.2~2/RELEASE_X86_64 x86_64
$ which brew
/usr/local/bin/brew
$ which homebrew || echo missing
missing
$ brew --version
Homebrew 2.4.7
Homebrew/homebrew-core (git revision 5cd732; last commit 2020-07-15)

@DanBurkhardt
Copy link
Author

Hey, cool work!

We should check the availability of the brew cli and not homebrew (which is the project). See my fork

$ uname -a
Darwin m4r1k 19.5.0 Darwin Kernel Version 19.5.0: Tue May 26 20:41:44 PDT 2020; root:xnu-6153.121.2~2/RELEASE_X86_64 x86_64
$ which brew
/usr/local/bin/brew
$ which homebrew || echo missing
missing
$ brew --version
Homebrew 2.4.7
Homebrew/homebrew-core (git revision 5cd732; last commit 2020-07-15)

sweet! thanks for the catch, updated

@YoungJaeChoung
Copy link

YoungJaeChoung commented Oct 25, 2020

I have got an error message
(But my mac is Mojave)

==> Downloading https://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz
Already downloaded: /Users/youngjae/Library/Caches/Homebrew/downloads/607fb753141f21319acf1a2f676c82cb298652150b34df6c935ae7a4fcd43661--sshpass-1.05.tar.gz
==> ./configure --prefix=/usr/local/Cellar/sshpass/1.05
Error: Empty installation
ip-192-168-43-161:project-gsc-pp youngjae$ brew install sshpass
==> Downloading https://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz
==> Downloading from https://jaist.dl.sourceforge.net/project/sshpass/sshpass/1.05/sshpass-1.05.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/sshpass/1.05
Error: Empty installation

@skumka
Copy link

skumka commented Oct 29, 2020

Same here:
==> Tapping esolitos/ipa
Cloning into '/usr/local/Homebrew/Library/Taps/esolitos/homebrew-ipa'...
remote: Enumerating objects: 17, done.
remote: Counting objects: 100% (17/17), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 35 (delta 2), reused 9 (delta 1), pack-reused 18
Unpacking objects: 100% (35/35), done.
Tapped 1 formula (60 files, 33.6KB).
==> Downloading https://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz
Already downloaded: /Users/skumka/Library/Caches/Homebrew/downloads/607fb753141f21319acf1a2f676c82cb298652150b34df6c935ae7a4fcd43661--sshpass-1.05.tar.gz
Warning: A newer Command Line Tools release is available.
Update them from Software Update in System Preferences or run:
softwareupdate --all --install --force

If that doesn't show you an update run:
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install

Alternatively, manually download them from:
https://developer.apple.com/download/more/.

==> ./configure --prefix=/usr/local/Cellar/sshpass/1.05
Error: Empty installation

@vikas027
Copy link

vikas027 commented Jan 4, 2021

Earlier I used to do this brew install http://git.io/sshpass.rb but this does not work anymore.

This works like a charm on Catalina 10.15.7

❯ brew tap esolitos/ipa
==> Tapping esolitos/ipa
Cloning into '/usr/local/Homebrew/Library/Taps/esolitos/homebrew-ipa'...
remote: Enumerating objects: 17, done.
remote: Counting objects: 100% (17/17), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 35 (delta 2), reused 9 (delta 1), pack-reused 18
Receiving objects: 100% (35/35), 4.90 KiB | 4.90 MiB/s, done.
Resolving deltas: 100% (4/4), done.
Tapped 1 formula (28 files, 34.8KB).
~ underwent 6s
❯ brew install sshpass
==> Installing sshpass from esolitos/ipa
==> Downloading https://sourceforge.net/projects/sshpass/files/sshpass/1.06/sshpass-1.06.tar.gz
==> Downloading from https://ixpeering.dl.sourceforge.net/project/sshpass/sshpass/1.06/sshpass-1.06.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/sshpass/1.06
==> make install
🍺  /usr/local/Cellar/sshpass/1.06: 9 files, 78.0KB, built in 8 seconds
~ underwent 17s
❯

@dusvyat
Copy link

dusvyat commented May 6, 2021

worked a treat for me, thanks a lot :)

@nkumarg7
Copy link

DanBurkhardt, you sir, are awesome! Thank YOU

@DanBurkhardt
Copy link
Author

worked a treat for me, thanks a lot :)

DanBurkhardt, you sir, are awesome! Thank YOU

sorry, I am just seeing this now, anytime, no problem 😎

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment