Skip to content

Instantly share code, notes, and snippets.

@xelldran1
Forked from dotike/try_or_die.sh
Created December 11, 2015 20:10
Show Gist options
  • Save xelldran1/a42949d0b28cd596eda7 to your computer and use it in GitHub Desktop.
Save xelldran1/a42949d0b28cd596eda7 to your computer and use it in GitHub Desktop.

Revisions

  1. @dotike dotike revised this gist Jan 4, 2014. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion try_or_die.sh
    Original file line number Diff line number Diff line change
    @@ -43,4 +43,5 @@ try cd /some/place
    try tar xzvfp /another/place/stuff.tbz
    # (you may not want to 'try' that tar, depending)

    true
    true
    # alternatively, exit 0
  2. @dotike dotike renamed this gist Jan 4, 2014. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  3. @dotike dotike revised this gist Jan 4, 2014. No changes.
  4. @dotike dotike renamed this gist Jan 4, 2014. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  5. @dotike dotike created this gist Jan 4, 2014.
    46 changes: 46 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,46 @@
    #!/bin/sh

    ##############################################################################
    # This code known is distributed under the following terms:
    #
    # Copyright (c) 2013 Isaac (.ike) Levy <[email protected]>.
    # All rights reserved.
    #
    # Redistribution and use in source and binary forms, with or without
    # modification, are permitted provided that the following conditions
    # are met:
    # 1. Redistributions of source code must retain the above copyright
    # notice, this list of conditions and the following disclaimer.
    # 2. Redistributions in binary form must reproduce the above copyright
    # notice, this list of conditions and the following disclaimer in the
    # documentation and/or other materials provided with the distribution.
    #
    # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
    # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
    # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    # SUCH DAMAGE.
    ##############################################################################
    # Credits:
    # William Baxter (safe/try pattern originator)
    # Matthew Story (loads of use)
    # okan@ (try refinements, config conventions)
    # Allan Jude (try - the actual name)
    ##############################################################################

    shout() { echo "$0: $*" >&2; }
    die() { shout "$*"; exit 111; }
    try() { "$@" || die "cannot $*"; }

    # examples, using it
    try cd /some/place
    try tar xzvfp /another/place/stuff.tbz
    # (you may not want to 'try' that tar, depending)

    true