Skip to content

Commit a8b820a

Browse files
joesuf4Joe Schaefer
andauthored
perl-for-cntrl-chars (#34)
Feature: add support for embedded ctrl-[ (\x1b) Co-authored-by: Joe Schaefer <[email protected]>
1 parent a64ce23 commit a8b820a

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

kubectl-node_shell

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
set -e
33

44
kubectl=kubectl
5-
version=1.5.2
5+
version=1.5.3
66
generator=""
77
node=""
88
nodefaultctx=0
@@ -75,7 +75,7 @@ done
7575
if [ $# -gt 0 ]; then
7676
while [ $# -gt 0 ]; do
7777
cmd="$cmd, \"$(echo "$1" | \
78-
awk '{gsub(/\\/,"\\\\");gsub(/"/,"\\\"");gsub(/$/,"\\n");printf last}{last=$0} END{gsub(/\\n/,"",last);printf last}' \
78+
awk '{gsub(/["\\]/,"\\\\&");gsub(/\x1b/,"\\u001b");printf "%s",last;last=$0"\\n"} END{print $0}' \
7979
)\""
8080
shift
8181
done

test.sh

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ run_test() {
77

88
local expected="$(mktemp)"
99
local got="$(mktemp)"
10-
10+
1111
if diff --strip-trailing-cr -u <(sh -c "$script") <(set -x; ./kubectl-node_shell $node -- sh -c "$script"); then
1212
echo -e "Result: \e[42mPASS\e[49m"
1313
else
@@ -22,7 +22,9 @@ if [ -z $1 ]; then
2222
exit -1
2323
fi
2424

25-
case1=$(cat <<\EOT
25+
case=()
26+
27+
case[1]=$(cat <<\EOT
2628
echo $(echo "
2729
hello everybody
2830
I'm a \"baby seal\""
@@ -31,7 +33,7 @@ I'm a \"baby seal\""
3133
EOT
3234
)
3335

34-
case2=$(cat <<\EOT
36+
case[2]=$(cat <<\EOT
3537
3638
echo "ggg
3739
@@ -40,7 +42,7 @@ ttt"
4042
EOT
4143
)
4244

43-
case3=$(cat <<\EOT
45+
case[3]=$(cat <<\EOT
4446
echo $(echo "
4547
hello everybody
4648
I'm a \"baby seal
@@ -52,6 +54,8 @@ really really
5254
EOT
5355
)
5456

55-
run_test "case 1" "$1" "$case1"
56-
run_test "case 2" "$1" "$case2"
57-
run_test "case 3" "$1" "$case3"
57+
case[4]="$(echo -e echo "\e[42mHOLA\e[49m")"
58+
59+
for i in $(seq 1 ${#case[@]}); do
60+
run_test "case $i" "$1" "${case[$i]}"
61+
done

0 commit comments

Comments
 (0)