{"version": 2, "width": 80, "height": 24, "timestamp": 1718909526, "env": {"SHELL": null, "TERM": "xterm"}, "title": "lesson11/part4"} [0.044919, "o", "\u001b[00m\u001b[00m"] [0.045529, "o", "\u001b[00m"] [0.045745, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~\u001b[00m$ \u001b[01;32m"] [0.375068, "o", "\r\n\u001b[?2004l\r"] [0.375226, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [2.52881, "o", ":"] [2.653837, "o", " "] [2.800843, "o", "#"] [2.910097, "o", " "] [3.028353, "o", "L"] [3.100717, "o", "e"] [3.207693, "o", "s"] [3.318962, "o", "s"] [3.372818, "o", "o"] [3.438058, "o", "n"] [3.521027, "o", " "] [3.625948, "o", "1"] [3.726028, "o", "1"] [3.809603, "o", ":"] [3.885203, "o", " "] [4.020268, "o", "P"] [4.173401, "o", "a"] [4.370919, "o", "r"] [4.515162, "o", "t"] [4.592601, "o", " "] [4.643434, "o", "4"] [4.804701, "o", ":"] [4.873206, "o", " "] [4.997436, "o", "E"] [5.082469, "o", "x"] [5.153316, "o", "a"] [5.240021, "o", "m"] [5.317224, "o", "p"] [5.390332, "o", "l"] [5.456362, "o", "e"] [5.568576, "o", "s"] [5.629253, "o", "\r\n\u001b[?2004l\r"] [5.629326, "o", "\u001b[00m"] [5.629395, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [6.629424, "o", "\r\n\u001b[?2004l\r"] [6.629506, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [7.797952, "o", ":"] [7.951082, "o", " "] [8.064945, "o", "#"] [8.186086, "o", "#"] [8.271508, "o", " "] [8.350497, "o", "1"] [8.436907, "o", "."] [8.48946, "o", " "] [8.617253, "o", "L"] [8.730025, "o", "e"] [8.80198, "o", "t"] [8.914572, "o", "'"] [9.024545, "o", "s"] [9.112256, "o", " "] [9.181598, "o", "s"] [9.280092, "o", "e"] [9.351738, "o", "e"] [9.471117, "o", " "] [9.529742, "o", "a"] [9.631134, "o", "n"] [9.816962, "o", " "] [9.875876, "o", "e"] [9.935678, "o", "x"] [10.035423, "o", "a"] [10.099281, "o", "m"] [10.218412, "o", "p"] [10.328968, "o", "l"] [10.414943, "o", "e"] [10.603121, "o", " "] [10.678239, "o", "p"] [10.741237, "o", "r"] [10.816415, "o", "o"] [10.888523, "o", "g"] [10.997071, "o", "r"] [11.088626, "o", "a"] [11.177127, "o", "m"] [11.272267, "o", " "] [11.41503, "o", "t"] [11.49059, "o", "h"] [11.599168, "o", "a"] [11.727478, "o", "t"] [11.784589, "o", " "] [11.9543, "o", "v"] [12.07817, "o", "a"] [12.229437, "o", "l"] [12.317643, "o", "i"] [12.42246, "o", "d"] [12.501041, "o", "a"] [12.554068, "o", "t"] [12.620571, "o", "e"] [12.837355, "o", "s"] [12.991697, "o", " "] [13.045158, "o", "i"] [13.13945, "o", "t"] [13.286666, "o", "s"] [13.491066, "o", " "] [13.557613, "o", "i"] [13.63994, "o", "n \r"] [13.69825, "o", "p"] [13.769855, "o", "u"] [13.851586, "o", "t"] [13.956319, "o", ":"] [14.06543, "o", "\r\n\u001b[?2004l\r"] [14.065633, "o", "\u001b[00m\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [15.065624, "o", "\r\n\u001b[?2004l\r"] [15.065792, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [16.140947, "o", "v"] [16.197057, "o", "i"] [16.263312, "o", "m"] [16.390615, "o", " "] [16.487661, "o", "v"] [16.554536, "o", "a"] [16.631557, "o", "l"] [16.718347, "o", "i"] [16.814335, "o", "d"] [16.964928, "o", "a"] [17.02589, "o", "t"] [17.130908, "o", "e"] [17.295421, "o", "."] [17.359636, "o", "s"] [17.459941, "o", "h"] [17.631669, "o", "\r\n\u001b[?2004l\r"] [17.631784, "o", "\u001b[00m"] [17.683061, "o", "\u001b[?1049h\u001b[22;0;0t\u001b[>4;2m\u001b[?1h\u001b=\u001b[?2004h\u001b[?1004h\u001b[1;24r\u001b[?12h\u001b[?12l\u001b[22;2t\u001b[22;1t"] [17.683459, "o", "\u001b[27m\u001b[23m\u001b[29m\u001b[m\u001b[H\u001b[2J\u001b[?25l\u001b[24;1H\"validate.sh\""] [17.683504, "o", " 42L, 1028B"] [17.689037, "o", "\u001b[2;1H▽\u001b[6n\u001b[2;1H \u001b[3;1H\u001bPzz\u001b\\\u001b[0%m\u001b[6n\u001b[3;1H \u001b[1;1H\u001b[>c\u001b]10;?\u0007\u001b]11;?\u0007"] [17.691219, "o", "\u001b[1;1H\u001b[1m\u001b[36m#!/bin/bash\u001b[m\u001b[2;1H\u001b[K\u001b[3;1H\u001b[1m\u001b[36m# read-validate: validate input\u001b[m\u001b[3;32H\u001b[K\u001b[5;1H\u001b[1m\u001b[36minvalid_input () {\u001b[m\r\n \u001b[1m\u001b[33mecho\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35mInvalid input '\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[35m'\u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m>&2\r\n\u001b[m \u001b[1m\u001b[33mexit\u001b[m \u001b[1m\u001b[35m1\u001b[m\r\n\u001b[1m\u001b[36m}\u001b[m\r\n\r\n\u001b[1m\u001b[33mread\u001b[m \u001b[1m\u001b[31m-p\u001b[m \u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35mEnter a single item > \u001b[m\u001b[1m\u001b[33m\"\u001b[m\r\n\r\n\u001b[1m\u001b[36m# input is empty (invalid)\u001b[m\r\n\u001b[1m\u001b[31m[[\u001b[m \u001b[1m\u001b[33m-z\u001b[m \u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[33m\"\u001b[m \u001b[1m\u001b[31m]]\u001b[m && invalid_input\r\n\r\n\u001b[1m\u001b[36m# input is multiple items (invalid)\u001b[m\r\n\u001b[1m\u001b[31m((\u001b[m \u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[34m$(\u001b[m\u001b[1m\u001b[33mecho\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m|\u001b[m\u001b[1m\u001b[31m wc -w\u001b[m\u001b[1m\u001b[34m)\u001b[m\u001b[1m\u001b[33m\"\u001b[m \u001b[1m\u001b[33m>\u001b[m \u001b[1m\u001b[35m1\u001b[m \u001b[1m\u001b[31m))\u001b[m && invalid_input\r\n\r\n\u001b[1m\u001b[36m# is input a valid filename?\u001b[m\r\n\u001b[1m\u001b[33mif \u001b[m\u001b[1m\u001b[31m[[\u001b[m \u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[33m\"\u001b[m \u001b[1m\u001b[33m=~\u001b[m \u001b[1m\u001b[35m^[-[:alnum:]\\._]+$\u001b[m \u001b[1m\u001b[31m]]\u001b[m\u001b[1m\u001b[33m;\u001b[m \u001b[1m\u001b[33mthen\r\n\u001b[m \u001b[1m\u001b[33mecho\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35m'\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[35m' is a valid filename.\u001b[m\u001b[1m\u001b[33m\"\r\n\u001b[m \u001b[1m\u001b[33mif \u001b[m\u001b[1m\u001b[31m[[\u001b[m \u001b[1m\u001b[33m-e\u001b[m \u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[33m\"\u001b[m \u001b[1m\u001b[31m]]\u001b[m\u001b[1m\u001b[33m;\u001b[m \u001b[1m\u001b[33mthen\u001b[22;9Hecho\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35mAnd file '\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[35m' exists.\u001b[m\u001b[1m\u001b[33m\"\r\n\u001b[m \u001b[1m\u001b[33melse\u001b[m\u001b[24;63H1,1\u001b[11CTop\u001b[1;1H\u001b[?25h\u001b[?4m"] [18.631749, "m", ""] [19.682099, "o", "\u001b[?25l\u001b[24;53HG\u001b[1;1H"] [19.685049, "o", "\u001b[24;53H \u001b[23;1H\u001b[1;23r\u001b[1;1H\u001b[19M\u001b[1;24r\u001b[5;9H\u001b[1m\u001b[33mecho\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35mHowever, file '\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[35m' does not exist.\u001b[m\u001b[1m\u001b[33m\"\r\n\u001b[m \u001b[1m\u001b[33mfi\u001b[m\u001b[8;5H\u001b[1m\u001b[36m# is input a floating point number?\u001b[m\r\n \u001b[1m\u001b[33mif \u001b[m\u001b[1m\u001b[31m[[\u001b[m \u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[33m\"\u001b[m \u001b[1m\u001b[33m=~\u001b[m \u001b[1m\u001b[35m^-?[[:digit:]]*\\.[[:digit:]]+$\u001b[m \u001b[1m\u001b[31m]]\u001b[m\u001b[1m\u001b[33m;\u001b[m \u001b[1m\u001b[33mthen\u001b[10;9Hecho\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35m'\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[35m' is a floating point number.\u001b[m\u001b[1m\u001b[33m\"\r\n\u001b[m \u001b[1m\u001b[33melse\u001b[12;9Hecho\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35m'\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[35m' is not a floating point number.\u001b[m\u001b[1m\u001b[33m\"\r\n\u001b[m \u001b[1m\u001b[33mfi\u001b[m\u001b[15;5H\u001b[1m\u001b[36m# is input an integer?\u001b[m\r\n \u001b[1m\u001b[33mif \u001b[m\u001b[1m\u001b[31m[[\u001b[m \u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[33m\"\u001b[m \u001b[1m\u001b[33m=~\u001b[m \u001b[1m\u001b[35m^-?[[:digit:]]+$\u001b[m \u001b[1m\u001b[31m]]\u001b[m\u001b[1m\u001b[33m;\u001b[m \u001b[1m\u001b[33mthen\u001b[17;9Hecho\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35m'\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[35m' is an integer.\u001b[m\u001b[1m\u001b[33m\"\r\n\u001b[m \u001b[1m\u001b[33melse\u001b[19;9Hecho\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35m'\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[35m' is not an integer.\u001b[m\u001b[1m\u001b[33m\"\r\n\u001b[m \u001b[1m\u001b[33mfi\r\nelse\r\n\u001b[m \u001b[1m\u001b[33mecho\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35mThe string '\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[35m' is not a valid filename.\u001b[m\u001b[1m\u001b[33m\"\r\nfi\u001b[m\u001b[24;1H\u001b[K\u001b[24;63H42,1\u001b[10CBot\u001b[23;1H\u001b[?25h"] [20.682063, "m", ""] [21.732433, "o", "\u001b[?25l\u001b[24;63H\u001b[K\u001b[24;1H:q\u001b[?25h"] [22.732528, "o", "\r"] [22.732828, "o", "\u001b[?25l\u001b[?2004l\u001b[>4;m\u001b[23;2t\u001b[23;1t\u001b[24;1H\u001b[K\u001b[24;1H\u001b[?1004l\u001b[?2004l\u001b[?1l\u001b>\u001b[?1049l\u001b[23;0;0t\u001b[?25h\u001b[>4;m"] [22.73582, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [23.732628, "o", "\r\n\u001b[?2004l\r"] [23.732793, "o", "\u001b[?2004h"] [23.732845, "o", "\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [24.81756, "o", ":"] [24.991727, "o", " "] [25.066058, "o", "'"] [25.175452, "o", "\r\n\u001b[?2004l\r"] [25.175573, "o", "\u001b[?2004h> "] [26.25774, "o", "T"] [26.373614, "o", "r"] [26.507169, "o", "y"] [26.588354, "o", " "] [26.642129, "o", "i"] [26.754195, "o", "t"] [26.846339, "o", " "] [26.997029, "o", "a"] [27.059357, "o", " "] [27.163989, "o", "f"] [27.234239, "o", "e"] [27.313052, "o", "w"] [27.415822, "o", " "] [27.491456, "o", "t"] [27.557191, "o", "i"] [27.63778, "o", "m"] [27.73743, "o", "e"] [27.834459, "o", "s"] [27.896832, "o", " "] [27.976998, "o", "w"] [28.047055, "o", "i"] [28.123774, "o", "t"] [28.247329, "o", "h"] [28.37084, "o", " "] [28.479959, "o", "d"] [28.548386, "o", "i"] [28.637107, "o", "f"] [28.724402, "o", "f"] [28.823455, "o", "e"] [28.929297, "o", "r"] [28.986345, "o", "e"] [29.101285, "o", "n"] [29.214743, "o", "t"] [29.279507, "o", " "] [29.395731, "o", "i"] [29.511148, "o", "n"] [29.618586, "o", "p"] [29.810455, "o", "u"] [29.902171, "o", "t"] [29.990962, "o", "s"] [30.099076, "o", ":"] [30.167135, "o", "\r\n\u001b[?2004l\r"] [30.1673, "o", "\u001b[?2004h> "] [31.323092, "o", "'"] [31.391343, "o", "\r\n\u001b[?2004l\r"] [31.391453, "o", "\u001b[00m"] [31.391509, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [32.501242, "o", "."] [32.564555, "o", "/"] [32.658607, "o", "v"] [32.7328, "o", "a"] [32.816703, "o", "l"] [32.927528, "o", "i"] [32.999368, "o", "d"] [33.079505, "o", "a"] [33.220846, "o", "t"] [33.36016, "o", "e"] [33.433977, "o", "."] [33.504922, "o", "s"] [33.606083, "o", "h"] [33.684171, "o", "\r\n\u001b[?2004l\r"] [33.684422, "o", "\u001b[00m"] [33.68691, "o", "Enter a single item > "] [34.684269, "o", "\r\n"] [34.684545, "o", "Invalid input ''\r\n"] [34.685037, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [35.785814, "o", "."] [35.881164, "o", "/"] [35.95039, "o", "v"] [36.124271, "o", "a"] [36.211306, "o", "l"] [36.358124, "o", "i"] [36.501151, "o", "d"] [36.558716, "o", "a"] [36.659848, "o", "t"] [36.740313, "o", "e"] [36.794812, "o", "."] [36.937964, "o", "s"] [37.126115, "o", "h"] [37.219046, "o", "\r\n"] [37.219092, "o", "\u001b[?2004l\r"] [37.219228, "o", "\u001b[00m"] [37.220832, "o", "Enter a single item > "] [38.295396, "o", "a"] [38.368579, "o", " "] [38.499792, "o", "b"] [38.658832, "o", " "] [38.788905, "o", "c"] [39.857256, "o", "\r\n"] [39.860802, "o", "Invalid input 'a b c'\r\n"] [39.861232, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [40.983003, "o", "."] [41.071783, "o", "/"] [41.161976, "o", "v"] [41.313353, "o", "a"] [41.420724, "o", "l"] [41.523214, "o", "i"] [41.663093, "o", "d"] [41.805803, "o", "a"] [41.981168, "o", "t"] [42.099068, "o", "e"] [42.176746, "o", "."] [42.265253, "o", "s"] [42.317217, "o", "h"] [42.38943, "o", "\r\n\u001b[?2004l\r"] [42.389562, "o", "\u001b[00m"] [42.392446, "o", "Enter a single item > "] [43.476604, "o", "f"] [43.600336, "o", "i"] [43.655477, "o", "l"] [43.706223, "o", "e"] [43.835121, "o", "1"] [43.898157, "o", "."] [43.993368, "o", "t"] [44.046728, "o", "x"] [44.189029, "o", "t"] [45.341793, "o", "\r\n"] [45.345086, "o", "'file1.txt' is a valid filename.\r\n"] [45.345127, "o", "However, file 'file1.txt' does not exist.\r\n"] [45.345158, "o", "'file1.txt' is not a floating point number.\r\n"] [45.345283, "o", "'file1.txt' is not an integer.\r\n"] [45.345753, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [46.414382, "o", "."] [46.50412, "o", "/"] [46.570629, "o", "v"] [46.725165, "o", "a"] [46.855258, "o", "l"] [46.950626, "o", "i"] [47.041492, "o", "d"] [47.1109, "o", "a"] [47.170245, "o", "t"] [47.278906, "o", "e"] [47.434867, "o", "."] [47.490497, "o", "s"] [47.56104, "o", "h"] [47.637533, "o", "\r\n\u001b[?2004l\r"] [47.637677, "o", "\u001b[00m"] [47.640222, "o", "Enter a single item > "] [48.689475, "o", "v"] [48.81813, "o", "a"] [48.869866, "o", "l"] [48.984082, "o", "i"] [49.064593, "o", "d"] [49.133931, "o", "a"] [49.199595, "o", "t"] [49.256199, "o", "e"] [49.348566, "o", "."] [49.403927, "o", "s"] [49.547789, "o", "h"] [50.599928, "o", "\r\n"] [50.603138, "o", "'validate.sh' is a valid filename.\r\nAnd file 'validate.sh' exists.\r\n"] [50.603274, "o", "'validate.sh' is not a floating point number.\r\n'validate.sh' is not an integer.\r\n"] [50.603846, "o", "\u001b[?2004h"] [50.603883, "o", "\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [51.709481, "o", "."] [51.85092, "o", "/"] [51.929982, "o", "v"] [52.060077, "o", "a"] [52.136502, "o", "l"] [52.217437, "o", "i"] [52.311353, "o", "d"] [52.396198, "o", "a"] [52.502302, "o", "t"] [52.553792, "o", "e"] [52.713288, "o", "."] [52.788274, "o", "s"] [52.885362, "o", "h"] [52.973224, "o", "\r\n\u001b[?2004l\r"] [52.97335, "o", "\u001b[00m"] [52.975841, "o", "Enter a single item > "] [54.064796, "o", "1"] [54.200123, "o", "2"] [54.257646, "o", "3"] [55.335889, "o", "\r\n"] [55.339405, "o", "'123' is a valid filename.\r\nHowever, file '123' does not exist.\r\n"] [55.33954, "o", "'123' is not a floating point number.\r\n"] [55.339635, "o", "'123' is an integer.\r\n"] [55.340213, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [56.427401, "o", "."] [56.506319, "o", "/"] [56.608535, "o", "v"] [56.743705, "o", "a"] [56.884547, "o", "l"] [56.943606, "o", "i"] [57.059937, "o", "d"] [57.129594, "o", "a"] [57.197365, "o", "t"] [57.252123, "o", "e"] [57.336502, "o", "."] [57.445735, "o", "s"] [57.51558, "o", "h"] [57.62651, "o", "\r\n"] [57.62657, "o", "\u001b[?2004l\r\u001b[00m"] [57.629146, "o", "Enter a single item > "] [58.737561, "o", "."] [58.90139, "o", "1"] [59.069915, "o", "2"] [59.128148, "o", "3"] [60.146534, "o", "\r\n"] [60.149834, "o", "'.123' is a valid filename.\r\n"] [60.149978, "o", "However, file '.123' does not exist.\r\n"] [60.150028, "o", "'.123' is a floating point number.\r\n'.123' is not an integer.\r\n"] [60.150636, "o", "\u001b[?2004h"] [60.150711, "o", "\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [61.377552, "o", "."] [61.521428, "o", "/"] [61.624874, "o", "v"] [61.677204, "o", "a"] [61.81089, "o", "l"] [61.914221, "o", "i"] [61.970873, "o", "d"] [62.08481, "o", "a"] [62.248787, "o", "t"] [62.355862, "o", "e"] [62.477842, "o", "."] [62.607438, "o", "s"] [62.722582, "o", "h"] [62.795999, "o", "\r\n\u001b[?2004l\r"] [62.796169, "o", "\u001b[00m"] [62.798436, "o", "Enter a single item > "] [63.902177, "o", "!"] [63.957516, "o", "?"] [64.101738, "o", "%"] [65.222632, "o", "\r\n"] [65.225805, "o", "The string '!?%' is not a valid filename.\r\n"] [65.226159, "o", "\u001b[?2004h"] [65.226186, "o", "\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [66.222671, "m", ""] [67.274411, "o", ":"] [67.471352, "o", " "] [67.596405, "o", "#"] [67.659771, "o", "#"] [67.820048, "o", " "] [68.065719, "o", "2"] [68.175707, "o", "."] [68.300128, "o", " "] [68.42539, "o", "L"] [68.489615, "o", "e"] [68.57183, "o", "t"] [68.634347, "o", "'"] [68.743622, "o", "s"] [68.823477, "o", " "] [68.941277, "o", "s"] [69.019477, "o", "e"] [69.071751, "o", "e"] [69.210033, "o", " "] [69.350758, "o", "a"] [69.424305, "o", " "] [69.542306, "o", "m"] [69.601298, "o", "e"] [69.688983, "o", "n"] [69.773221, "o", "u"] [69.8694, "o", " "] [69.960519, "o", "d"] [70.027807, "o", "r"] [70.089613, "o", "i"] [70.160763, "o", "v"] [70.239572, "o", "e"] [70.371056, "o", "n"] [70.469667, "o", " "] [70.587257, "o", "e"] [70.665691, "o", "x"] [70.730458, "o", "a"] [70.792082, "o", "m"] [70.844015, "o", "p"] [70.896544, "o", "l"] [70.957282, "o", "e"] [71.017519, "o", " "] [71.075677, "o", "p"] [71.147997, "o", "r"] [71.219657, "o", "o"] [71.27046, "o", "g"] [71.352925, "o", "r"] [71.419242, "o", "a"] [71.558516, "o", "m"] [71.676128, "o", ":"] [71.787915, "o", "\r\n\u001b[?2004l\r"] [71.788066, "o", "\u001b[00m\u001b[?2004h"] [71.78812, "o", "\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [72.78805, "o", "\r\n\u001b[?2004l\r"] [72.788219, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [73.870767, "o", "v"] [74.005114, "o", "i"] [74.068743, "o", "m"] [74.135828, "o", " "] [74.223301, "o", "m"] [74.278736, "o", "e"] [74.331227, "o", "n"] [74.422083, "o", "u"] [74.503819, "o", "."] [74.556842, "o", "s"] [74.658732, "o", "h"] [74.747818, "o", "\r\n\u001b[?2004l\r"] [74.747966, "o", "\u001b[00m"] [74.772749, "o", "\u001b[?1049h\u001b[22;0;0t\u001b[>4;2m\u001b[?1h\u001b=\u001b[?2004h\u001b[?1004h\u001b[1;24r\u001b[?12h\u001b[?12l\u001b[22;2t\u001b[22;1t"] [74.773157, "o", "\u001b[27m\u001b[23m\u001b[29m\u001b[m\u001b[H\u001b[2J\u001b[?25l\u001b[24;1H\"menu.sh\""] [74.773209, "o", " 45L, 756B"] [74.777168, "o", "\u001b[2;1H▽\u001b[6n\u001b[2;1H \u001b[3;1H\u001bPzz\u001b\\\u001b[0%m\u001b[6n\u001b[3;1H \u001b[1;1H\u001b[>c\u001b]10;?\u0007\u001b]11;?\u0007"] [74.778781, "o", "\u001b[1;1H\u001b[1m\u001b[36m#!/bin/bash\u001b[m\u001b[2;1H\u001b[K\u001b[3;1H\u001b[1m\u001b[36m# read-menu: a menu driven system information program\u001b[m\u001b[3;54H\u001b[K\u001b[5;1H\u001b[1m\u001b[33mclear\r\necho\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m\"\u001b[m\r\n\u001b[1m\u001b[35mPlease Select:\r\n1. Display System Information\r\n2. Display Disk Space\r\n3. Display Home Space Utilization\r\n0. Quit\u001b[m\r\n\u001b[1m\u001b[33m\"\r\nread\u001b[m \u001b[1m\u001b[31m-p\u001b[m \u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35mEnter selection [0-3] > \u001b[m\u001b[1m\u001b[33m\"\r\n\r\nif \u001b[m\u001b[1m\u001b[31m[[\u001b[m \u001b[1m\u001b[33m!\u001b[m \u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[33m\"\u001b[m \u001b[1m\u001b[33m=~\u001b[m \u001b[1m\u001b[35m^[0-3]$\u001b[m \u001b[1m\u001b[31m]]\u001b[m\u001b[1m\u001b[33m;\u001b[m \u001b[1m\u001b[33mthen\r\n\u001b[m \u001b[1m\u001b[33mecho\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35mInvalid entry.\u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m>&\u001b[m\u001b[1m\u001b[35m2\u001b[m\r\n \u001b[1m\u001b[33mexit\u001b[m \u001b[1m\u001b[35m1\u001b[m\r\n\u001b[1m\u001b[33mfi\r\n\r\nif \u001b[m\u001b[1m\u001b[31m[[\u001b[m \u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[33m\"\u001b[m \u001b[1m\u001b[33m==\u001b[m \u001b[1m\u001b[35m0\u001b[m \u001b[1m\u001b[31m]]\u001b[m\u001b[1m\u001b[33m;\u001b[m \u001b[1m\u001b[33mthen\r\n\u001b[m \u001b[1m\u001b[33mecho\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35mProgram terminated.\u001b[m\u001b[1m\u001b[33m\"\r\n\u001b[m \u001b[1m\u001b[33mexit\r\nfi\u001b[m\u001b[24;63H1,1\u001b[11CTop\u001b[1;1H\u001b[?25h\u001b[?4m"] [75.747855, "m", ""] [76.79818, "o", "\u001b[?25l\u001b[24;53HG\u001b[1;1H"] [76.801622, "o", "\u001b[24;53H \u001b[23;1H\u001b[27m\u001b[23m\u001b[29m\u001b[m\u001b[H\u001b[2J\u001b[1;1H\u001b[1m\u001b[33mfi\r\n\r\nif \u001b[m\u001b[1m\u001b[31m[[\u001b[m \u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[33m\"\u001b[m \u001b[1m\u001b[33m==\u001b[m \u001b[1m\u001b[35m1\u001b[m \u001b[1m\u001b[31m]]\u001b[m\u001b[1m\u001b[33m;\u001b[m \u001b[1m\u001b[33mthen\r\n\u001b[m \u001b[1m\u001b[33mecho\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35mHostname: \u001b[m\u001b[1m\u001b[34m$HOSTNAME\u001b[m\u001b[1m\u001b[33m\"\u001b[m\r\n uptime\r\n \u001b[1m\u001b[33mexit\r\nfi\r\n\r\nif \u001b[m\u001b[1m\u001b[31m[[\u001b[m \u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[33m\"\u001b[m \u001b[1m\u001b[33m==\u001b[m \u001b[1m\u001b[35m2\u001b[m \u001b[1m\u001b[31m]]\u001b[m\u001b[1m\u001b[33m;\u001b[m \u001b[1m\u001b[33mthen\u001b[m\r\n df \u001b[1m\u001b[33m-h\u001b[m .\r\n \u001b[1m\u001b[33mexit\r\nfi\r\n\r\nif \u001b[m\u001b[1m\u001b[31m[[\u001b[m \u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[34m$REPLY\u001b[m\u001b[1m\u001b[33m\"\u001b[m \u001b[1m\u001b[33m==\u001b[m \u001b[1m\u001b[35m3\u001b[m \u001b[1m\u001b[31m]]\u001b[m\u001b[1m\u001b[33m;\u001b[m \u001b[1m\u001b[33mthen\r\n\u001b[m \u001b[1m\u001b[33mif \u001b[m\u001b[1m\u001b[31m[[\u001b[m \u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[34m$(\u001b[m\u001b[1m\u001b[31mid -u\u001b[m\u001b[1m\u001b[34m)\u001b[m\u001b[1m\u001b[33m\"\u001b[m \u001b[1m\u001b[33m-eq\u001b[m \u001b[1m\u001b[35m0\u001b[m \u001b[1m\u001b[31m]]\u001b[m\u001b[1m\u001b[33m;\u001b[m \u001b[1m\u001b[33mthen\u001b[16;9Hecho\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35mHome Space Utilization (All Users)\u001b[m\u001b[1m\u001b[33m\"\u001b[17;9Hdu\u001b[m \u001b[1m\u001b[31m-sh\u001b[m /home/*\r\n \u001b[1m\u001b[33melse\u001b[19;9Hecho\u001b[m\u001b[1m\u001b[35m \u001b[m\u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[35mHome Space Utilization (\u001b[m\u001b[1m\u001b[34m$USER\u001b[m\u001b[1m\u001b[35m)\u001b[m\u001b[1m\u001b[33m\"\u001b[20;9Hdu\u001b[m \u001b[1m\u001b[31m-sh\u001b[m \u001b[1m\u001b[33m\"\u001b[m\u001b[1m\u001b[34m$HOME\u001b[m\u001b[1m\u001b[33m\"\r\n\u001b[m \u001b[1m\u001b[33mfi\r\n\u001b[m \u001b[1m\u001b[33mexit\r\nfi\u001b[m\u001b[24;63H45,1\u001b[10CBot\u001b[23;1H\u001b[?25h"] [77.798156, "m", ""] [78.848519, "o", "\u001b[?25l\u001b[24;63H\u001b[K\u001b[24;1H:q\u001b[?25h"] [79.848581, "o", "\r"] [79.849053, "o", "\u001b[?25l\u001b[?2004l\u001b[>4;m\u001b[23;2t\u001b[23;1t\u001b[24;1H\u001b[K\u001b[24;1H\u001b[?1004l\u001b[?2004l\u001b[?1l\u001b>\u001b[?1049l\u001b[23;0;0t\u001b[?25h\u001b[>4;m"] [79.851969, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [80.848667, "o", "\r\n\u001b[?2004l\r"] [80.848809, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [81.980401, "o", ":"] [82.03234, "o", " "] [82.08361, "o", "'"] [82.209684, "o", "\r\n\u001b[?2004l\r"] [82.209842, "o", "\u001b[?2004h> "] [83.346306, "o", "N"] [83.403093, "o", "o"] [83.461241, "o", "t"] [83.537021, "o", "i"] [83.642479, "o", "c"] [83.734391, "o", "e"] [83.853726, "o", " "] [83.95524, "o", "t"] [84.032087, "o", "h"] [84.192382, "o", "e"] [84.335272, "o", " "] [84.407156, "o", "u"] [84.462516, "o", "s"] [84.550823, "o", "e"] [84.671882, "o", " "] [84.76071, "o", "o"] [84.821604, "o", "f"] [84.954748, "o", " "] [85.035222, "o", "t"] [85.092421, "o", "h"] [85.152152, "o", "e"] [85.24985, "o", " "] [85.308911, "o", "`"] [85.412085, "o", "e"] [85.48441, "o", "x"] [85.607318, "o", "i"] [85.705066, "o", "t"] [85.772649, "o", "`"] [85.89426, "o", " "] [85.981085, "o", "c"] [86.046709, "o", "o"] [86.164165, "o", "m"] [86.261036, "o", "m"] [86.356662, "o", "a"] [86.433163, "o", "n"] [86.616517, "o", "d"] [86.690941, "o", " "] [86.757572, "o", "i"] [86.817532, "o", "n"] [86.941188, "o", " "] [86.993263, "o", "t"] [87.179612, "o", "h"] [87.247125, "o", "i"] [87.302708, "o", "s"] [87.372961, "o", " "] [87.52729, "o", "s"] [87.733072, "o", "c"] [87.828189, "o", "r"] [87.897246, "o", "i"] [87.997792, "o", "p"] [88.117007, "o", "t"] [88.202624, "o", "."] [88.352992, "o", "\r\n\u001b[?2004l\r"] [88.353059, "o", "\u001b[?2004h> "] [89.511991, "o", "I"] [89.600641, "o", "t"] [89.725575, "o", " "] [89.828904, "o", "i"] [89.947788, "o", "s"] [90.103514, "o", " "] [90.159416, "o", "u"] [90.241666, "o", "s"] [90.39055, "o", "e"] [90.518633, "o", "d"] [90.634972, "o", " "] [90.728126, "o", "h"] [90.816269, "o", "e"] [90.868779, "o", "r"] [90.981354, "o", "e"] [91.037208, "o", " "] [91.101059, "o", "t"] [91.183762, "o", "o"] [91.259882, "o", " "] [91.359976, "o", "p"] [91.476673, "o", "r"] [91.609059, "o", "e"] [91.731525, "o", "v"] [91.879288, "o", "e"] [91.954559, "o", "n"] [92.005924, "o", "t"] [92.088086, "o", " "] [92.159232, "o", "t"] [92.249475, "o", "h"] [92.371312, "o", "e"] [92.448916, "o", " "] [92.548327, "o", "s"] [92.645541, "o", "c"] [92.76999, "o", "r"] [92.832581, "o", "i"] [93.068843, "o", "p"] [93.268624, "o", "t"] [93.388988, "o", "\r\n\u001b[?2004l\r"] [93.389101, "o", "\u001b[?2004h> "] [94.460766, "o", "f"] [94.540187, "o", "r"] [94.661248, "o", "o"] [94.748935, "o", "m"] [94.840362, "o", " "] [94.901835, "o", "e"] [95.073337, "o", "x"] [95.156117, "o", "e"] [95.263164, "o", "c"] [95.327446, "o", "u"] [95.441138, "o", "t"] [95.578751, "o", "i"] [95.63587, "o", "n"] [95.700805, "o", "g"] [95.77044, "o", " "] [95.845406, "o", "u"] [95.962098, "o", "n"] [96.022132, "o", "n"] [96.117588, "o", "e"] [96.209253, "o", "c"] [96.330186, "o", "e"] [96.461818, "o", "s"] [96.522456, "o", "s"] [96.577857, "o", "a"] [96.682938, "o", "r"] [96.814912, "o", "y"] [96.882616, "o", " "] [97.039655, "o", "c"] [97.134609, "o", "o"] [97.240506, "o", "d"] [97.350975, "o", "e"] [97.456041, "o", "\r\n\u001b[?2004l\r"] [97.456166, "o", "\u001b[?2004h> "] [98.538649, "o", "a"] [98.737277, "o", "f"] [98.848925, "o", "t"] [98.940933, "o", "e"] [99.021966, "o", "r"] [99.091316, "o", " "] [99.160774, "o", "a"] [99.321189, "o", "n"] [99.40086, "o", " "] [99.486863, "o", "a"] [99.57989, "o", "c"] [99.697089, "o", "t"] [99.761905, "o", "i"] [99.86357, "o", "o"] [99.914864, "o", "n"] [99.989538, "o", " "] [100.095148, "o", "h"] [100.205028, "o", "a"] [100.302502, "o", "s"] [100.37291, "o", " "] [100.500798, "o", "b"] [100.608987, "o", "e"] [100.681906, "o", "e"] [100.845871, "o", "n"] [100.932042, "o", " "] [101.081014, "o", "c"] [101.147191, "o", "a"] [101.208647, "o", "r"] [101.31717, "o", "r"] [101.415715, "o", "i"] [101.513799, "o", "e"] [101.67984, "o", "d"] [101.766068, "o", " "] [101.851612, "o", "o"] [101.934982, "o", "u"] [102.050592, "o", "t"] [102.121907, "o", "."] [102.238362, "o", "\r\n\u001b[?2004l\r"] [102.23842, "o", "\u001b[?2004h"] [102.238584, "o", "> "] [103.334746, "o", "'"] [103.456493, "o", "\r\n\u001b[?2004l\r"] [103.456625, "o", "\u001b[00m"] [103.456676, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [104.66217, "o", "."] [104.81988, "o", "/"] [104.942437, "o", "m"] [105.106547, "o", "e"] [105.198008, "o", "n"] [105.279868, "o", "u"] [105.359233, "o", "."] [105.449569, "o", "s"] [105.614454, "o", "h"] [105.679369, "o", "\r\n\u001b[?2004l\r"] [105.679493, "o", "\u001b[00m"] [105.683532, "o", "\u001b[H\u001b[2J\u001b[3J"] [105.683775, "o", "\r\nPlease Select:\r\n1. Display System Information\r\n2. Display Disk Space\r\n3. Display Home Space Utilization\r\n0. Quit\r\n\r\n"] [105.683815, "o", "Enter selection [0-3] > "] [106.758458, "o", "7"] [107.804979, "o", "\r\n"] [107.805136, "o", "Invalid entry.\r\n"] [107.805763, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [108.963266, "o", "."] [109.113328, "o", "/"] [109.243996, "o", "m"] [109.392858, "o", "e"] [109.453966, "o", "n"] [109.530411, "o", "u"] [109.648156, "o", "."] [109.729704, "o", "s"] [109.808198, "o", "h"] [109.931652, "o", "\r\n\u001b[?2004l\r"] [109.931717, "o", "\u001b[00m"] [109.935784, "o", "\u001b[H\u001b[2J\u001b[3J"] [109.93605, "o", "\r\nPlease Select:\r\n1. Display System Information\r\n2. Display Disk Space\r\n3. Display Home Space Utilization\r\n0. Quit\r\n\r\n"] [109.936111, "o", "Enter selection [0-3] > "] [111.023055, "o", "1"] [112.089962, "o", "\r\n"] [112.090168, "o", "Hostname: linux-cli\r\n"] [112.100018, "o", " 18:54:12 up 67 days, 10:13, 0 user, load average: 0.41, 0.42, 0.44\r\n"] [112.100832, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [113.302653, "o", "."] [113.424784, "o", "/"] [113.493601, "o", "m"] [113.66329, "o", "e"] [113.752801, "o", "n"] [113.8847, "o", "u"] [113.96853, "o", "."] [114.032047, "o", "s"] [114.183248, "o", "h"] [114.251597, "o", "\r\n\u001b[?2004l\r"] [114.251734, "o", "\u001b[00m"] [114.255709, "o", "\u001b[H\u001b[2J\u001b[3J"] [114.255999, "o", "\r\nPlease Select:\r\n1. Display System Information\r\n2. Display Disk Space\r\n3. Display Home Space Utilization\r\n0. Quit\r\n\r\n"] [114.256039, "o", "Enter selection [0-3] > "] [115.352956, "o", "2"] [116.370689, "o", "\r\n"] [116.373207, "o", "Filesystem Size Used Avail Use% Mounted on\r\noverlay 477G 218G 199G 53% /\r\n"] [116.373985, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [117.465052, "o", "."] [117.542069, "o", "/"] [117.678573, "o", "m"] [117.782538, "o", "e"] [117.909511, "o", "n"] [117.972234, "o", "u"] [118.03304, "o", "."] [118.125902, "o", "s"] [118.189851, "o", "h"] [118.284925, "o", "\r\n\u001b[?2004l\r"] [118.285037, "o", "\u001b[00m"] [118.289299, "o", "\u001b[H\u001b[2J\u001b[3J"] [118.289571, "o", "\r\nPlease Select:\r\n1. Display System Information\r\n2. Display Disk Space\r\n3. Display Home Space Utilization\r\n0. Quit\r\n\r\n"] [118.28962, "o", "Enter selection [0-3] > "] [119.355591, "o", "3"] [120.366298, "o", "\r\n"] [120.36938, "o", "Home Space Utilization ()\r\n"] [120.375, "o", "2.6M\t/home/user1\r\n"] [120.375637, "o", "\u001b[?2004h\u001b[01;33muser1@linux-cli\u001b[00m:\u001b[01;34m~/11\u001b[00m$ \u001b[01;32m"] [121.366454, "o", "\u001b[?2004l\r\r\n"] [121.366518, "o", "logout\r\n"] [121.366681, "o", "\u001b[00m"]