diff --git a/install.sh b/install.sh index 9a0abe1..1a09b66 100755 --- a/install.sh +++ b/install.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e set -u diff --git a/readme.md b/readme.md index f05be29..955ac35 100644 --- a/readme.md +++ b/readme.md @@ -52,7 +52,7 @@ Installation ------------- Prerequisites: - tmux >= "v2.4" -- OSX, Linux (tested on Ubuntu 14 and CentOS7) +- OSX, Linux (tested on Ubuntu 14 and CentOS7), FreeBSD (tested on 11.1) Personally, I use it on OSX 10.11.5 El Capitan through iTerm2. diff --git a/tmux/yank.sh b/tmux/yank.sh index 653e19f..65e9099 100755 --- a/tmux/yank.sh +++ b/tmux/yank.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -eu @@ -22,7 +22,10 @@ elif [ -n "${DISPLAY-}" ] && is_app_installed xsel; then copy_backend="xsel -i --clipboard" elif [ -n "${DISPLAY-}" ] && is_app_installed xclip; then copy_backend="xclip -i -f -selection primary | xclip -i -selection clipboard" -elif [ -n "${copy_backend_remote_tunnel_port-}" ] && [ "$(ss -n -4 state listening "( sport = $copy_backend_remote_tunnel_port )" | tail -n +2 | wc -l)" -eq 1 ]; then +# Check if ss installed, as there is no native ss on FreeBSD (use sockstat instead) +elif [ -n "${copy_backend_remote_tunnel_port-}" ] && is_app_installed ss && [ "$(ss -n -4 state listening "( sport = $copy_backend_remote_tunnel_port )" | tail -n +2 | wc -l)" -eq 1 ]; then + copy_backend="nc localhost $copy_backend_remote_tunnel_port" +elif [ -n "${copy_backend_remote_tunnel_port-}" ] && is_app_installed sockstat && sockstat -4 -l | grep -q ":$copy_backend_remote_tunnel_port" ; then copy_backend="nc localhost $copy_backend_remote_tunnel_port" fi