@@ -21,17 +21,15 @@ readonly PROG="$(basename "$0")"
2121# util functions
2222# ###############################################################################
2323
24- # shellcheck disable=SC2015
25- [ -t 1 ] && readonly is_console=true || readonly is_console=false
26-
2724# NOTE: $'foo' is the escape sequence syntax of bash
2825readonly ec=$' \033 ' # escape char
2926readonly eend=$' \033 [0m' # escape end
3027readonly cr=$' \r ' # carriage return
3128readonly nl=$' \n ' # new line
3229
3330redEcho () {
34- $is_console && echo " ${ec} [1;31m$* $eend " || echo " $* "
31+ # -t check: is a terminal device?
32+ [ -t 1 ] && echo " ${ec} [1;31m$* $eend " || echo " $* "
3533}
3634
3735die () {
@@ -41,18 +39,17 @@ die() {
4139
4240# Getting console width using a bash script
4341# https://unix.stackexchange.com/questions/299067
44- $is_console && readonly columns=$( stty size | awk ' {print $2}' )
45-
42+ [ -t 2 ] && readonly columns=$( stty size | awk ' {print $2}' )
4643printResponsiveMessage () {
47- $is_console || return 0
44+ [ -t 2 ] || return 0
4845
4946 local message=" $* "
5047 # http://www.linuxforums.org/forum/red-hat-fedora-linux/142825-how-truncate-string-bash-script.html
51- echo -n " ${message: 0: columns} "
48+ echo -n " ${message: 0: columns} " >&2
5249}
5350
5451clearResponsiveMessage () {
55- $is_console || return 0
52+ [ -t 2 ] || return 0
5653
5754 # How to delete line with echo?
5855 # https://unix.stackexchange.com/questions/26576
@@ -62,7 +59,7 @@ clearResponsiveMessage() {
6259 # echo -e "\033[1K"
6360 # Or everything on the line, regardless of cursor position:
6461 # echo -e "\033[2K"
65- echo -n " ${ec} [2K$cr "
62+ echo -n " ${ec} [2K$cr " >&2
6663}
6764
6865usage () {
@@ -75,6 +72,7 @@ usage() {
7572
7673 cat > $out << EOF
7774Usage: ${PROG} [OPTION]... PATTERN
75+
7876Find files in the jar files under specified directory,
7977search jar files recursively(include subdirectory).
8078The pattern default is *extended* regex.
@@ -243,7 +241,7 @@ total_count="$(echo "$jar_files" | wc -l)"
243241total_count=" ${total_count// [[:space:]]/ } " # delete white space
244242
245243findInJarFiles () {
246- $is_console && local -r grep_color_option=' --color=always'
244+ [ -t 1 ] && local -r grep_color_option=' --color=always'
247245
248246 local counter=1 jar_file
249247 while read -r jar_file; do
@@ -256,7 +254,7 @@ findInJarFiles() {
256254 } | while read -r file; do
257255 clearResponsiveMessage
258256
259- $is_console &&
257+ [ -t 1 ] &&
260258 echo " ${ec} [1;35m${jar_file}${eend}${ec} [1;32m${separator}${eend}${file} " ||
261259 echo " ${jar_file}${separator}${file} "
262260 done
0 commit comments