Skip to content

Commit

Permalink
feat: chapter 33 - master the multiplexer
Browse files Browse the repository at this point in the history
  • Loading branch information
dwmkerr authored Apr 5, 2022
1 parent a66b81a commit 39ab6af
Show file tree
Hide file tree
Showing 10 changed files with 1,687 additions and 0 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
385 changes: 385 additions & 0 deletions docs/06-advanced-techniques/33-master-the-multiplexer/index.md

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ const sidebars = {
items: [
'advanced-techniques/understanding-shell-expansion/index',
'advanced-techniques/how-to-avoid-scripting/index',
'advanced-techniques/master-the-multiplexer/index',
]
},
{
Expand Down
167 changes: 167 additions & 0 deletions static/casts/483782.cast
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
{"version": 2, "width": 80, "height": 24, "timestamp": 1648981870, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
[0.340144, "o", "\r\n\u001b[1m\u001b[34m/home/parallels\u001b(B\u001b[m \r\n\u001b[1m\u001b[37m$\u001b(B\u001b[m "]
[1.839972, "o", "t"]
[1.986516, "o", "m"]
[2.188318, "o", "u"]
[2.304393, "o", "x"]
[3.228858, "o", "\r\n"]
[3.236023, "o", "\u001b[?1049h\u001b[22;0;0t\u001b[?1h\u001b=\u001b[H\u001b[2J\u001b[?12l\u001b[?25h\u001b[?1000l\u001b[?1002l\u001b[?1006l\u001b[?1005l\u001b[c\u001b(B\u001b[m\u001b[?12;25h\u001b[?12l\u001b[?25h\u001b[?1003l\u001b[?1006l\u001b[?2004l\u001b[1;1H\u001b[1;24r\u001b]112\u0007\u001b[1;1H"]
[3.236614, "o", "\u001b[?25l\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\u001b[30m\u001b[42m\r\n[0] 0:bash* \"parallels-Parallels-V\" 18:31 03-Apr-22\u001b(B\u001b[m\u001b[1;1H\u001b[?12l\u001b[?25h"]
[3.238073, "o", "\u001b(B\u001b[m\u001b[?12;25h\u001b[?12l\u001b[?25h\u001b[?1003l\u001b[?1006l\u001b[?2004l\u001b[1;1H\u001b[1;24r\u001b[1;1H"]
[3.238456, "o", "\u001b[?25l\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\u001b[30m\u001b[42m\r\n[0] 0:bash* \"parallels-Parallels-V\" 18:31 03-Apr-22\u001b(B\u001b[m\u001b[1;1H\u001b[?12l\u001b[?25h"]
[3.590459, "o", "\r\n\u001b[34m\u001b[1m/home/parallels\u001b(B\u001b[m \r\n\u001b[37m\u001b[1m$\u001b(B\u001b[m "]
[4.588629, "o", "\""]
[4.953437, "o", "f"]
[5.039527, "o", "i"]
[5.105898, "o", "r"]
[5.182327, "o", "s"]
[5.261863, "o", "t"]
[5.546313, "o", ","]
[5.590732, "o", " "]
[6.018503, "o", "l"]
[6.115222, "o", "e"]
[6.18148, "o", "t"]
[6.277079, "o", "'"]
[6.36341, "o", "s"]
[6.4317, "o", " "]
[6.541072, "o", "c"]
[6.64881, "o", "r"]
[6.709411, "o", "e"]
[6.737495, "o", "a"]
[6.811107, "o", "t"]
[6.869126, "o", "e"]
[6.928104, "o", " "]
[6.955492, "o", "a"]
[7.085347, "o", " "]
[7.727347, "o", "v"]
[7.863326, "o", "e"]
[7.931027, "o", "r"]
[8.074727, "o", "t"]
[8.162069, "o", "i"]
[8.253486, "o", "c"]
[8.310933, "o", "a"]
[8.379247, "o", "l"]
[8.465237, "o", " "]
[8.696934, "o", "s"]
[8.766814, "o", "p"]
[8.942114, "o", "l"]
[9.034212, "o", "i"]
[9.124302, "o", "t"]
[9.4323, "o", "."]
[9.569893, "o", "."]
[9.673156, "o", "."]
[10.359848, "o", "\""]
[13.190744, "o", "\u001b[1;41H│\u001b[2;41H│\u001b[3;41H│\u001b[4;41H│\u001b[5;41H│\u001b[6;41H│\u001b[7;41H│\u001b[8;41H│\u001b[9;41H│\u001b[10;41H│\u001b[11;41H│\u001b[12;41H│\u001b[32m\u001b[13;41H│\u001b[14;41H│\u001b[15;41H│\u001b[16;41H│\u001b[17;41H│\u001b[18;41H│\u001b[19;41H│\u001b[20;41H│\u001b[21;41H│\u001b[22;41H│\u001b[23;41H│\u001b[?25l\u001b(B\u001b[m\u001b[1;40H\u001b[1K\u001b[34m\u001b[1m\u001b[H/home/parallels\u001b(B\u001b[m \u001b[37m\u001b[1m\r\n$\u001b(B\u001b[m \"first, let's create a vertical split.\u001b[3;40H\u001b[1K\r..\"\u001b[4;40H\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\u001b[1;42H\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\u001b[30m\u001b[42m\r\n[0] 0:bash* \"parallels-Parallels-V\" 18:31 03-Apr-22\u001b(B\u001b[m\u001b[1;42H\u001b[?12l\u001b[?25h\u001b[3;40H\u001b[1K\r\u001b[37m\u001b[1m$\u001b(B\u001b[m \"first, let's create a vertical split.\r\n..\"\u001b[1;42H"]
[13.585058, "o", "\n\u001b[34m\u001b[1m/home/parallels\u001b(B\u001b[m \u001b[3;42H\u001b[37m\u001b[1m$\u001b(B\u001b[m "]
[15.248433, "o", "\""]
[15.426528, "o", "n"]
[15.503141, "o", "o"]
[15.582453, "o", "w"]
[15.893241, "o", ","]
[15.96351, "o", " "]
[16.097888, "o", "l"]
[16.185306, "o", "e"]
[16.260895, "o", "t"]
[16.312952, "o", "'"]
[16.409493, "o", "s"]
[16.468782, "o", " "]
[16.670596, "o", "t"]
[16.771578, "o", "r"]
[16.868866, "o", "y"]
[16.91434, "o", " "]
[17.033044, "o", "a"]
[17.141171, "o", " "]
[17.680016, "o", "h"]
[17.796386, "o", "o"]
[17.894505, "o", "r"]
[18.014642, "o", "i"]
[18.102587, "o", "t"]
[18.761379, "o", "\b\u001b[K"]
[18.895408, "o", "z"]
[19.206136, "o", "o"]
[19.290456, "o", "n"]
[19.543774, "o", "t"]
[19.623347, "o", "a"]
[19.675432, "o", "l"]
[19.790338, "o", " "]
[19.939116, "o", "s"]
[19.994353, "o", "p"]
[20.181457, "o", "l"]
[20.266948, "o", "i"]
[20.333209, "o", "t"]
[20.485927, "o", "."]
[20.609216, "o", "."]
[20.715582, "o", ".\u001b[4;42H \b"]
[20.946784, "o", "\""]
[23.106014, "o", "\u001b[1;41H│\u001b[2;41H│\u001b[3;41H│\u001b[4;41H│\u001b[5;41H│\u001b[6;41H│\u001b[7;41H│\u001b[8;41H│\u001b[9;41H│\u001b[10;41H│\u001b[11;41H│\u001b[32m\u001b[12;41H├───────────────────────────────────────\u001b[13;41H│\u001b[14;41H│\u001b[15;41H│\u001b[16;41H│\u001b[17;41H│\u001b[18;41H│\u001b[19;41H│\u001b[20;41H│\u001b[21;41H│\u001b[22;41H│\u001b[23;41H│\u001b[?25l\u001b(B\u001b[m\u001b[1;40H\u001b[1K\u001b[34m\u001b[1m\u001b[H/home/parallels\u001b(B\u001b[m \u001b[37m\u001b[1m\r\n$\u001b(B\u001b[m \"first, let's create a vertical split.\u001b[37m\u001b[1m\r\n$\u001b(B\u001b[m \"first, let's create a vertical split.\u001b[4;40H\u001b[1K\r..\"\u001b[5;40H\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\u001b[1;42H\u001b[K\u001b[34m\u001b[1m\n/home/parallels\u001b(B\u001b[m \u001b[K\u001b[37m\u001b[1m\u001b[3;42H$\u001b(B\u001b[m \"now, let's try a horizontal split...\u001b[4;42H\"\u001b[K\u001b[5;42H\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\u001b[2B\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\u001b[30m\u001b[42m\r\n[0] 0:bash* \"parallels-Parallels-V\" 18:31 03-Apr-22\u001b(B\u001b[m\u001b[13;42H\u001b[?12l\u001b[?25h\u001b[4d\u001b[K\u001b[A\u001b[37m\u001b[1m$\u001b(B\u001b[m \"now, let's try a horizontal"]
[23.106065, "o", " split...\u001b[4;42H\"\u001b[13;42H"]
[23.444805, "o", "\n\u001b[34m\u001b[1m/home/parallels\u001b(B\u001b[m \u001b[15;42H\u001b[37m\u001b[1m$\u001b(B\u001b[m "]
[25.452132, "o", "\""]
[25.827017, "o", "a"]
[25.904272, "o", "n"]
[26.012278, "o", "d"]
[26.084605, "o", " "]
[26.200218, "o", "m"]
[26.257159, "o", "o"]
[26.411932, "o", "v"]
[26.456962, "o", "e"]
[26.527307, "o", " "]
[26.818738, "o", "b"]
[26.981838, "o", "e"]
[27.061385, "o", "t"]
[27.206449, "o", "w"]
[27.262845, "o", "e"]
[27.40992, "o", "e"]
[27.474895, "o", "n"]
[27.575771, "o", " "]
[27.688267, "o", "s"]
[27.763731, "o", "p"]
[27.948643, "o", "l"]
[28.012202, "o", "i"]
[28.069154, "o", "t"]
[28.132036, "o", "s"]
[28.228232, "o", "."]
[28.362453, "o", "."]
[28.46006, "o", "."]
[28.740664, "o", "\""]
[30.021631, "o", "\u001b[32m\u001b[1;41H│\u001b[2;41H│\u001b[3;41H│\u001b[4;41H│\u001b[5;41H│\u001b[6;41H│\u001b[7;41H│\u001b[8;41H│\u001b[9;41H│\u001b[10;41H│\u001b[11;41H│\u001b[12;41H├───────────────────────────────────────\u001b[39m\u001b[13;41H│\u001b[14;41H│\u001b[15;41H│\u001b[16;41H│\u001b[17;41H│\u001b[18;41H│\u001b[19;41H│\u001b[20;41H│\u001b[21;41H│\u001b[22;41H│\u001b[23;41H│\u001b(B\u001b[m\u001b[4;43H"]
[31.31219, "o", "\u001b[32m\u001b[1;41H│\u001b[2;41H│\u001b[3;41H│\u001b[4;41H│\u001b[5;41H│\u001b[6;41H│\u001b[7;41H│\u001b[8;41H│\u001b[9;41H│\u001b[10;41H│\u001b[11;41H│\u001b[12;41H├\u001b[39m───────────────────────────────────────\u001b[32m\u001b[13;41H│\u001b[14;41H│\u001b[15;41H│\u001b[16;41H│\u001b[17;41H│\u001b[18;41H│\u001b[19;41H│\u001b[20;41H│\u001b[21;41H│\u001b[22;41H│\u001b[23;41H│\u001b(B\u001b[m\u001b[4;4H"]
[32.425196, "o", "\u001b[32m\u001b[1;41H│\u001b[2;41H│\u001b[3;41H│\u001b[4;41H│\u001b[5;41H│\u001b[6;41H│\u001b[7;41H│\u001b[8;41H│\u001b[9;41H│\u001b[10;41H│\u001b[11;41H│\u001b[12;41H├───────────────────────────────────────\u001b[39m\u001b[13;41H│\u001b[14;41H│\u001b[15;41H│\u001b[16;41H│\u001b[17;41H│\u001b[18;41H│\u001b[19;41H│\u001b[20;41H│\u001b[21;41H│\u001b[22;41H│\u001b[23;41H│\u001b(B\u001b[m\u001b[4;43H"]
[33.561944, "o", "\u001b[1;41H│\u001b[2;41H│\u001b[3;41H│\u001b[4;41H│\u001b[5;41H│\u001b[6;41H│\u001b[7;41H│\u001b[8;41H│\u001b[9;41H│\u001b[10;41H│\u001b[11;41H│\u001b[32m\u001b[12;41H├───────────────────────────────────────\u001b[13;41H│\u001b[14;41H│\u001b[15;41H│\u001b[16;41H│\u001b[17;41H│\u001b[18;41H│\u001b[19;41H│\u001b[20;41H│\u001b[21;41H│\u001b[22;41H│\u001b[23;41H│\u001b(B\u001b[m\u001b[15;72H"]
[35.593427, "o", "\u0007"]
[36.71616, "o", ":"]
[37.849967, "o", "\b\u001b[K"]
[38.185959, "o", "^C\u001b[16;42H"]
[38.195479, "o", "\n"]
[38.195525, "o", "\u001b[34m\u001b[1m/home/parallels\u001b(B\u001b[m "]
[38.195641, "o", "\u001b[18;42H\u001b[37m\u001b[1m$\u001b(B\u001b[m "]
[38.955472, "o", "e"]
[39.144375, "o", "x"]
[39.266258, "o", "i"]
[39.39284, "o", "t"]
[39.556131, "o", "\u001b[19;42Hlogout\u001b[20;42H"]
[39.557449, "o", "\u001b[1;41H│\u001b[2;41H│\u001b[3;41H│\u001b[4;41H│\u001b[5;41H│\u001b[6;41H│\u001b[7;41H│\u001b[8;41H│\u001b[9;41H│\u001b[10;41H│\u001b[11;41H│\u001b[12;41H│\u001b[32m\u001b[13;41H│\u001b[14;41H│\u001b[15;41H│\u001b[16;41H│\u001b[17;41H│\u001b[18;41H│\u001b[19;41H│\u001b[20;41H│\u001b[21;41H│\u001b[22;41H│\u001b[23;41H│\u001b[?25l\u001b(B\u001b[m\u001b[1;40H\u001b[1K\u001b[34m\u001b[1m\u001b[H/home/parallels\u001b(B\u001b[m \u001b[37m\u001b[1m\r\n$\u001b(B\u001b[m \"first, let's create a vertical split.\u001b[37m\u001b[1m\r\n$\u001b(B\u001b[m \"first, let's create a vertical split.\u001b[4;40H\u001b[1K\r..\"\u001b[5;40H\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\n\u001b[1K\u001b[1;42H\u001b[K\u001b[34m\u001b[1m\n/home/parallels\u001b(B\u001b[m \u001b[K\u001b[37m\u001b[1m\u001b[3;42H$\u001b(B\u001b[m \"now, let's try a horizontal split...\u001b[4;42H\"\u001b[K\u001b[5;42H\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\n\u001b[K\u001b[30m\u001b[42m\r\n[0] 0:bash* \"parallels-Parallels-V\" 18:31 03-Apr-22\u001b(B\u001b[m\u001b[4;43H\u001b[?12l\u001b[?25h"]
[39.557607, "o", "\b\u001b[K\u001b[A\u001b[37m\u001b[1m$\u001b(B\u001b[m \"now, let's try a horizontal split...\u001b[4;42H\""]
[39.959102, "o", "e"]
[40.298683, "o", "^C\u001b[5;42H"]
[40.305852, "o", "\n\u001b[34m\u001b[1m/home/parallels\u001b(B\u001b[m \u001b[7;42H\u001b[37m\u001b[1m$\u001b(B\u001b[m "]
[40.60043, "o", "e"]
[40.776139, "o", "x"]
[40.877067, "o", "i"]
[40.973795, "o", "t"]
[41.101534, "o", "\u001b[8;42Hlogout\u001b[9;42H"]
[41.102785, "o", "\u001b[?25l\u001b[H\u001b[K\u001b[34m\u001b[1m\r\n/home/parallels\u001b(B\u001b[m \u001b[K\u001b[37m\u001b[1m\r\n$\u001b(B\u001b[m \"first, let's create a vertical split.\u001b[37m\u001b[1m$\u001b(B\u001b[m \"first, let's create a vertical split...\"\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\r\n\u001b[K\u001b[30m\u001b[42m\r\n[0] 0:bash* \"parallels-Parallels-V\" 18:31 03-Apr-22\u001b(B\u001b[m\u001b[4;4H\u001b[?12l\u001b[?25h"]
[41.102842, "o", "\r\u001b[K\u001b[A\u001b[37m\u001b[1m$\u001b(B\u001b[m \"first, let's create a vertical split...\""]
[41.960015, "o", "^C\r\n"]
[41.967738, "o", "\r\n\u001b[34m\u001b[1m/home/parallels\u001b(B\u001b[m \r\n\u001b[37m\u001b[1m$\u001b(B\u001b[m "]
[42.389584, "o", "e"]
[42.563133, "o", "x"]
[42.672899, "o", "i"]
[42.759344, "o", "t"]
[42.907799, "o", "\r\n"]
[42.907896, "o", "logout"]
[42.907913, "o", "\r\n"]
[42.909947, "o", "\u001b[1;24r\u001b(B\u001b[m\u001b[?1l\u001b>\u001b[H\u001b[2J\u001b]112\u0007\u001b[?12l\u001b[?25h\u001b[?1000l\u001b[?1002l\u001b[?1006l\u001b[?1005l"]
[42.910651, "o", "\u001b[?1049l\u001b[23;0;0t[exited]\r\n"]
[42.917039, "o", "\r\n\u001b[1m\u001b[34m/home/parallels\u001b(B\u001b[m \r\n\u001b[1m\u001b[37m$\u001b(B\u001b[m "]
[44.350937, "o", "exit\r\n"]
Loading

0 comments on commit 39ab6af

Please sign in to comment.