Skip to content

Instantly share code, notes, and snippets.

@marslo
Last active February 14, 2025 01:29
Show Gist options
  • Save marslo/8e25d3250c13ecd5147787d38a5b85f8 to your computer and use it in GitHub Desktop.
Save marslo/8e25d3250c13ecd5147787d38a5b85f8 to your computer and use it in GitHub Desktop.
PS4
#         start with `+`
#             v
$ export PS4='+\033[37;2;3m(${BASH_SOURCE}:${LINENO})\033[0m: \033[35;2;3m${FUNCNAME[0]:+${FUNCNAME[0]}():}\033[0m '

$ bash -x diff.sh 
+(diff.sh:4):  set -euo pipefail
+(diff.sh:13):  array1=("key1" "key2" "key3" "key4" "key5" "key6" "key7" "key8" "key9" "key10")
+(diff.sh:14):  array2=("key1" "key3" "key4" "key2" "key5" "key6")
+(diff.sh:15):  array3=($(diff array1[@] array2[@]))
++(diff.sh:15):  diff 'array1[@]' 'array2[@]'
+++(diff.sh:9): diff(): echo -n key1 key2 key3 key4 key5 key6 key7 key8 key9 key10
++(diff.sh:9): diff(): awk 'BEGIN{RS=ORS=" "}
       { NR==FNR ? a[$0]++ : a[$0]-- }
       END { for(k in a)if(a[k])print k }' /dev/fd/63 /dev/fd/62
+++(diff.sh:9): diff(): echo -n key1 key3 key4 key2 key5 key6
+(diff.sh:16):  echo key10 key7 key8 key9
key10 key7 key8 key9

#                    `+` is here
#                         v
$ export PS4='\033[37;2;3m+(${BASH_SOURCE}:${LINENO})\033[0m: \033[35;2;3m${FUNCNAME[0]:+${FUNCNAME[0]}():}\033[0m '

$ bash -x diff.sh 
+(diff.sh:4):  set -euo pipefail
+(diff.sh:13):  array1=("key1" "key2" "key3" "key4" "key5" "key6" "key7" "key8" "key9" "key10")
+(diff.sh:14):  array2=("key1" "key3" "key4" "key2" "key5" "key6")
+(diff.sh:15):  array3=($(diff array1[@] array2[@]))
+(diff.sh:15):  diff 'array1[@]' 'array2[@]'
+(diff.sh:9): diff(): echo -n key1 key2 key3 key4 key5 key6 key7 key8 key9 key10
+(diff.sh:9): diff(): awk 'BEGIN{RS=ORS=" "}
       { NR==FNR ? a[$0]++ : a[$0]-- }
       END { for(k in a)if(a[k])print k }' /dev/fd/63 /dev/fd/62
+(diff.sh:9): diff(): echo -n key1 key3 key4 key2 key5 key6
+(diff.sh:16):  echo key10 key7 key8 key9
key10 key7 key8 key9
image
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment