aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authortypebrook <typebrook@gmail.com>2020-05-09 12:28:06 +0800
committertypebrook <typebrook@gmail.com>2020-05-09 12:28:06 +0800
commit919982f29a45b76167e193edc5d097bafd62b9fd (patch)
tree39030b199eb014654ca1d87c23737ac6edf88d8e
parent39d89791eb3a19f8ac2053fe24c24a2711e33377 (diff)
Mac compatibility for 'mktemp'
-rwxr-xr-xgist15
1 files changed, 11 insertions, 4 deletions
diff --git a/gist b/gist
index 94ae08a..34548d6 100755
--- a/gist
+++ b/gist
@@ -79,6 +79,13 @@ tmp_dir=$(mktemp -d)
79trap "[[ '$DEBUG' == 'true' ]] && find $tmp_dir -type f | xargs tail -n +1 > log; rm -r $tmp_dir" EXIT 79trap "[[ '$DEBUG' == 'true' ]] && find $tmp_dir -type f | xargs tail -n +1 > log; rm -r $tmp_dir" EXIT
80 80
81# Mac compatibility 81# Mac compatibility
82tmp_file() {
83 if [[ $(uname) == Darwin ]]; then
84 file=$(mktemp) && mv $(mktemp) $tmp_dir && echo $tmp_dir/$(basename $file)
85 else
86 mktemp -p $tmp_dir
87 fi
88}
82tac() { 89tac() {
83 if [[ $(uname) == Darwin ]]; then 90 if [[ $(uname) == Darwin ]]; then
84 tail -r 91 tail -r
@@ -124,7 +131,7 @@ http_method() {
124 [[ $METHOD =~ (POST|PATCH) ]] && data_opt="@$http_data" 131 [[ $METHOD =~ (POST|PATCH) ]] && data_opt="@$http_data"
125 http -b "$METHOD" "$@" "$header" "$data_opt" ;; 132 http -b "$METHOD" "$@" "$header" "$data_opt" ;;
126 esac 2>&1 \ 133 esac 2>&1 \
127 | tee $(mktemp -p $tmp_dir) \ 134 | tee $(tmp_file) \
128 || { echo "Error: no active internet connection" >&2; return 1; } 135 || { echo "Error: no active internet connection" >&2; return 1; }
129} 136}
130 137
@@ -645,7 +652,7 @@ _set_gist() {
645 652
646# Let user type the content of gist before setting filename 653# Let user type the content of gist before setting filename
647_new_file() { 654_new_file() {
648 tmp_file=$(mktemp -p $tmp_dir) 655 tmp_file=$(tmp_file)
649 if [[ -z $INPUT ]]; then 656 if [[ -z $INPUT ]]; then
650 echo "Type a gist. <Ctrl-C> to cancel, <Ctrl-D> when done" > /dev/tty 657 echo "Type a gist. <Ctrl-C> to cancel, <Ctrl-D> when done" > /dev/tty
651 cat > "$tmp_file" 658 cat > "$tmp_file"
@@ -680,7 +687,7 @@ _create_gist() {
680 [[ -z $description ]] && read -e -r -p 'Type description: ' description < /dev/tty 687 [[ -z $description ]] && read -e -r -p 'Type description: ' description < /dev/tty
681 688
682 echo 'Creating a new gist...' 689 echo 'Creating a new gist...'
683 http_data=$(mktemp -p $tmp_dir) 690 http_data=$(tmp_file)
684 echo -e "${files[*]}\n$description" \ 691 echo -e "${files[*]}\n$description" \
685 | _gist_body > "$http_data" \ 692 | _gist_body > "$http_data" \
686 && http_method POST $GITHUB_API/gists \ 693 && http_method POST $GITHUB_API/gists \
@@ -712,7 +719,7 @@ _edit_gist() {
712 DESC="$2" 719 DESC="$2"
713 fi 720 fi
714 721
715 http_data=$(mktemp -p $tmp_dir) 722 http_data=$(tmp_file)
716 echo '{' \"description\": \""${DESC//\"/\\\"}"\" '}' > "$http_data" 723 echo '{' \"description\": \""${DESC//\"/\\\"}"\" '}' > "$http_data"
717 new_record=$(http_method PATCH "$GITHUB_API/gists/$GIST_ID" \ 724 new_record=$(http_method PATCH "$GITHUB_API/gists/$GIST_ID" \
718 | sed -e '1 s/^/[/; $ s/$/]/' \ 725 | sed -e '1 s/^/[/; $ s/$/]/' \