aboutsummaryrefslogtreecommitdiff
path: root/check/bash.sh
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2017-04-05 21:08:39 +1200
committerTom Ryder <tom@sanctum.geek.nz>2017-04-05 21:09:19 +1200
commit165c35c70b43349e882bd44be31c0837ab19729b (patch)
tree2a1f4218b78721c3262ac0c0b634629037f50ce6 /check/bash.sh
parentRemove mail/mailrc from ignored files (diff)
downloaddotfiles-165c35c70b43349e882bd44be31c0837ab19729b.tar.gz
dotfiles-165c35c70b43349e882bd44be31c0837ab19729b.zip
More sh flexibility (check/lint scripts)
Diffstat (limited to 'check/bash.sh')
-rw-r--r--check/bash.sh5
1 files changed, 5 insertions, 0 deletions
diff --git a/check/bash.sh b/check/bash.sh
new file mode 100644
index 00000000..a3efccb1
--- /dev/null
+++ b/check/bash.sh
@@ -0,0 +1,5 @@
+for bash in bash/* bash/bashrc.d/* ; do
+ [ -f "$bash" ] || continue
+ bash -n "$bash" || exit
+done
+printf 'All bash(1) scripts parsed successfully.\n'
f { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
# Interrupt a pipe with manual /dev/tty input to a program
self=pst

# Don't accept terminal as stdin
if [ -t 0 ] ; then
    printf >&2 '%s: stdin is a term\n' "$self"
    exit 2
fi

<%
include(`include/mktd.m4')
%>

# Run the interactive command on the temporary file forcing /dev/tty as
# input/output
tf=$td/data
cat - > "$tf" || exit
"${@:-"${PAGER:-more}"}" "$tf" </dev/tty >/dev/tty
cat -- "$tf" || exit