ms-cats - various - Various utilities developed at bitreich. HTML git clone git://bitreich.org/various/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/various/ DIR Log DIR Files DIR Refs DIR Tags --- ms-cats (10058B) --- 1 #!/bin/sh 2 # 3 # From: https://devblogs.microsoft.com/oldnewthing/20220208-00/?p=106232 4 # 5 6 frame1=" * ,MMM8&&&. * 7 MMMM88&&&&& . 8 MMMM88&&&&&&& 9 * MMM88&&&&&&&& 10 MMM88&&&&&&&& 11 ‘MMM88&&&&&&’ 12 ‘MMM8&&&’ * 13 |\___/| /\___/\ 14 ) ( ) ~( . ‘ 15 =\ /= =\~ /= 16 )===( ) ~ ( 17 / \ / \ 18 | | ) ~ ( 19 / \ / ~ \ 20 \ / \~ ~/ 21 _/\_/\_/\__ _/_/\_/\__~__/_/\_/\_/\_/\_/\_ 22 | | | |( ( | | | )) | | | | | | 23 | | | | ) ) | | |//| | | | | | | 24 | | | |(_( | | (( | | | | | | | 25 | | | | | | | |\)| | | | | | | 26 | | | | | | | | | | | | | | | " 27 28 frame2=" * ,MMM8&&&. * 29 MMMM88&&&&& . 30 MMMM88&&&&&&& 31 * MMM88&&&&&&&& 32 MMM88&&&&&&&& 33 ‘MMM88&&&&&&’ 34 ‘MMM8&&&’ * 35 |\___/| /\___/\ 36 ) ( ) ~( . ‘ 37 =\ /= =\~ /= 38 )===( ) ~ ( 39 / \ / \ 40 | | ) ~ ( 41 / \ / ~ \ 42 \ / \~ ~/ 43 _/\_/\_/\__ _/_/\_/\__~__/_/\_/\_/\_/\_/\_ 44 | | | |) )| | | (( | | | | | | | 45 | | | ( ( | | | |\\\\| | | | | | | 46 | | | |)_) | | |))| | | | | | | 47 | | | | | | | |\)| | | | | | | 48 | | | | | | | | | | | | | | | " 49 50 frame3=" 51 * ,MMM8&&&. * 52 MMMM88&&&&& . 53 MMMM88&&&&&&& 54 * MMM88&&&&&&&& 55 MMM88&&&&&&&& 56 ‘MMM88&&&&&&’ 57 |\___/| /\___/\ 58 ) ( ) ~( . ‘ 59 =\ /= =\~ /= 60 )===( ) ~ ( 61 / \ / \ 62 | | ) ~ ( 63 / \ / ~ \ 64 \ / \~ ~/ 65 _/\_/\_/\__ _/_/\_/\__~__/_/\_/\_/\_/\_/\_ 66 | | | |) )| | | (( | | | | | | | 67 | | | ( ( | | | |\\\\| | | | | | | 68 | | | |)_) | | |))| | | | | | | 69 | | | | | | | |\)| | | | | | | 70 | | | | | | | | | | | | | | | " 71 72 frame4=" 73 74 * ,MMM8&&&. * 75 MMMM88&&&&& . 76 MMMM88&&&&&&& 77 * MMM88&&&&&&&& 78 MMM88&&&&&&&& 79 |\___/| /\___/\ 80 ) ( ) ~( . ‘ 81 =\ /= =\~ /= 82 )===( ) ~ ( 83 / \ / \ 84 | | ) ~ ( 85 / \ / ~ \ 86 \ / \~ ~/ 87 _/\_/\_/\__ _/_/\_/\__~__/_/\_/\_/\_/\_/\_ 88 | | | |) )| | | (( | | | | | | | 89 | | | ( ( | | | |\\\\| | | | | | | 90 | | | |)_) | | |))| | | | | | | 91 | | | | | | | |\)| | | | | | | 92 | | | | | | | | | | | | | | | " 93 94 frame5=" 95 96 97 * ,MMM8&&&. * 98 MMMM88&&&&& . 99 MMMM88&&&&&&& 100 * MMM88&&&&&&&& 101 |\___/| /\___/\ 102 ) ( ) ~( . ‘ 103 =\ /= =\~ /= 104 )===( ) ~ ( 105 / \ / \ 106 | | ) ~ ( 107 / \ / ~ \ 108 \ / \~ ~/ 109 _/\_/\_/\__ _/_/\_/\__~__/_/\_/\_/\_/\_/\_ 110 | | | |) )| | | (( | | | | | | | 111 | | | ( ( | | | |\\\\| | | | | | | 112 | | | |)_) | | |))| | | | | | | 113 | | | | | | | |\)| | | | | | | 114 | | | | | | | | | | | | | | | " 115 116 frame6=" 117 118 119 120 * ,MMM8&&&. * 121 MMMM88&&&&& . 122 MMMM88&&&&&&& 123 |\___/| /\___/\ 124 ) ( ) ~( . ‘ 125 =\ /= =\~ /= 126 )===( ) ~ ( 127 / \ / \ 128 | | ) ~ ( 129 / \ / ~ \ 130 \ / \~ ~/ 131 _/\_/\_/\__ _/_/\_/\__~__/_/\_/\_/\_/\_/\_ 132 | | | |) )| | | (( | | | | | | | 133 | | | ( ( | | | |\\\\| | | | | | | 134 | | | |)_) | | |))| | | | | | | 135 | | | | | | | |\)| | | | | | | 136 | | | | | | | | | | | | | | | " 137 138 frame7=" 139 140 141 142 143 MMMM88&&&&& . 144 MMMM88&&&&&&& 145 |\___/| /\___/\ 146 ) ( ) ~( . ‘ 147 =\ /= =\~ /= 148 )===( ) ~ ( 149 / \ / \ 150 | | ) ~ ( 151 / \ / ~ \ 152 \ / \~ ~/ 153 _/\_/\_/\__ _/_/\_/\__~__/_/\_/\_/\_/\_/\_ 154 | | | |) )| | | (( | | | | | | | 155 | | | ( ( | | | |\\\\| | | | | | | 156 | | | |)_) | | |))| | | | | | | 157 | | | | | | | |\)| | | | | | | 158 | | | | | | | | | | | | | | | " 159 160 frame8=" 161 162 163 164 165 166 MMMM88&&&&&&& 167 |\___/| /\___/\ 168 ) ( ) ~( . ‘ 169 =\ /= =\~ /= 170 )===( ) ~ ( 171 / \ / \ 172 | | ) ~ ( 173 / \ / ~ \ 174 \ / \~ ~/ 175 _/\_/\_/\__ _/_/\_/\__~__/_/\_/\_/\_/\_/\_ 176 | | | |) )| | | (( | | | | | | | 177 | | | ( ( | | | |\\\\| | | | | | | 178 | | | |)_) | | |))| | | | | | | 179 | | | | | | | |\)| | | | | | | 180 | | | | | | | | | | | | | | | " 181 182 frame9=" 183 184 __________________ 185 |Good Night Moon!| 186 \ ============== 187 | / 188 \/ 189 |\___/| /\___/\ 190 ) ( ) ~( . ‘ 191 =\ /= =\~ /= 192 )===( ) ~ ( 193 / \ / \ 194 | | ) ~ ( 195 / \ / ~ \ 196 \ / \~ ~/ 197 _/\_/\_/\__ _/_/\_/\__~__/_/\_/\_/\_/\_/\_ 198 | | | |) )| | | (( | | | | | | | 199 | | | ( ( | | | |\\\\| | | | | | | 200 | | | |)_) | | |))| | | | | | | 201 | | | | | | | |\)| | | | | | | 202 | | | | | | | | | | | | | | | " 203 204 print_frame() { 205 tput cup 0 0 206 printf "%s" "${1}" 207 sleep 1 208 } 209 210 trap "reset; exit;" SIGINT SIGABRT SIGTERM 211 212 tput init 213 tput civis 214 tput clear 215 216 while /bin/true; 217 do 218 print_frame "${frame1}" 219 print_frame "${frame2}" 220 print_frame "${frame3}" 221 print_frame "${frame4}" 222 print_frame "${frame5}" 223 print_frame "${frame6}" 224 print_frame "${frame7}" 225 print_frame "${frame8}" 226 print_frame "${frame9}" 227 print_frame "${frame8}" 228 print_frame "${frame7}" 229 print_frame "${frame6}" 230 print_frame "${frame5}" 231 print_frame "${frame4}" 232 print_frame "${frame3}" 233 print_frame "${frame2}" 234 done 235