上下文:我正在尝试为我日常使用该docker exec
命令编写一个快捷方式。出于某些原因,我正在试验一个问题,即当我在容器内使用 bash 控制台时,我的输出有时会被破坏(历史混乱,行在我写作时相互覆盖,......)
我在这里读到,您可以通过在启动 bash 控制台之前添加一些命令来克服这个问题。
这是我的脚本所做的相关摘录
#!/bin/bash
containerHash=$1
commandToRun='bash -c "stty cols $COLUMNS rows $LINES && bash -l"'
finalCommand="winpty docker exec -it $containerHash $commandToRun"
echo $finalCommand
$finalCommand
这是我得到的输出:
winpty docker exec -it 0b63a bash -c "stty cols $COLUMNS rows $LINES && bash -l"
cols: -c: line 0: unexpected EOF while looking for matching `"'
cols: -c: line 1: syntax error: unexpected end of file
我在这里读到这与解析和扩展有关。但是,我不能使用函数或eval
命令(或者至少我没有成功使它工作)。
如果我直接在终端中执行第一条输出行,它就可以毫无问题地工作。
我该如何克服这个问题?