@@ -84,9 +84,10 @@ for shell in sh bash fish ksh zsh; do
84
84
exit 1
85
85
fi
86
86
87
- echo " #!/usr/bin/env ${shell} " > " ${newDist} "
87
+ tempDist=" $( mktemp --suffix=ColorEcho) "
88
+ echo " #!/usr/bin/env ${shell} " > " ${tempDist} "
88
89
89
- cat << SH_ECHO >> "${newDist } "
90
+ cat << SH_ECHO >> "${tempDist } "
90
91
91
92
# ColorEchoForShell
92
93
# https://github.com/PeterDaveHello/ColorEchoForShell
@@ -109,7 +110,7 @@ for shell in sh bash fish ksh zsh; do
109
110
SH_ECHO
110
111
111
112
if [ " ${shell} " = " sh" ]; then
112
- cat << SH_ECHO >> "${newDist } "
113
+ cat << SH_ECHO >> "${tempDist } "
113
114
if [ "\$ (uname)" = "FreeBSD" ]; then
114
115
ECHO="echo -e"
115
116
elif [ "\$ (uname)" = "Darwin" ]; then
@@ -147,15 +148,15 @@ SH_ECHO
147
148
fi
148
149
echoFunction=" $( printf " %secho%s%s%s%s%s" " ${fn} " " ${dot} " " ${light} " " ${style} " " ${style2} " " ${color} " ) "
149
150
echoFunctionShuffle=" $( printf " %secho%s%s%s%s%s" " ${fn} " " ${dot} " " ${light} " " ${style2} " " ${style} " " ${color} " ) "
150
- if ! ( grep -q " ${echoFunction} " " ${newDist } " || grep -q " ${echoFunctionShuffle} " " ${newDist } " ) ; then
151
+ if ! ( grep -q " ${echoFunction} " " ${tempDist } " || grep -q " ${echoFunctionShuffle} " " ${tempDist } " ) ; then
151
152
{
152
153
echo " "
153
154
printf " %s%s" " ${echoFunction} " " ${brackets} "
154
155
# write the code down
155
156
echo " ${startSym} "
156
157
echo " ${echo} " ' "\\033[' " ${finalStyleCode}${code} " " $( grep " ${color} " " ${table} " | awk ' {print $2}' ) " ' m$' " ${para} " ' \\033[m"'
157
158
echo " ${endSym} "
158
- } >> " ${newDist } "
159
+ } >> " ${tempDist } "
159
160
fi
160
161
done
161
162
done
@@ -176,7 +177,7 @@ SH_ECHO
176
177
;;
177
178
esac
178
179
179
- cat << LOLCAT >> "${newDist } "
180
+ cat << LOLCAT >> "${tempDist } "
180
181
${fnName}${startSym}
181
182
${ifCond}
182
183
echo "\$ ${para} " | lolcat
@@ -188,11 +189,12 @@ LOLCAT
188
189
189
190
# echo.Reset to remove color code on output
190
191
fnName=" ${fn} echo${dot} Reset${brackets} "
191
- cat << RESET >> "${newDist } "
192
+ cat << RESET >> "${tempDist } "
192
193
${fnName}${startSym}
193
194
echo "\$ ${para} " | tr -d '[:cntrl:]' | sed -E "s/\\\\ [((;)?[0-9]{1,3}){0,3}m//g" | xargs
194
195
${endSym}
195
196
RESET
197
+ mv -f " ${tempDist} " " ${newDist} "
196
198
} &
197
199
done
198
200
0 commit comments