大家好,这是一个让我误解了一段时间的问题:
我正在尝试运行一个bash脚本,它将某些值存储在变量中,然后在分离的会话中启动另一个命令,以便脚本可以继续运行,因为该命令需要很长时间才能完成。这一切都很好,但问题是应该在分离会话中运行的命令包含变量。当使用屏幕作为“会话管理器”(或任何你想称之为会话管理的程序)时,这不是问题:
read -p "Session name:" sessionname
read -p "Filename:" filename
screen -S "$sessionname" -d -m nano "$filename"
工作正常,按预期在分离的屏幕中打开nano。但是当我重新连接到会话并关闭它时,我的终端被清除了,并且文件中的一些文本在我的光标之前被禁止了。我意识到这是屏幕如何工作的一个问题,所以我决定切换到tmux,但现在开启了一个全新的问题领域:
tmux new-session -d -s "$sessionname" nano "$filename"
在cygwin上工作得很好,但在我的树莓2b上运行raspbian jessie它会抛出这个错误:
usage: new-session [-AdDp] [-c start-directory] [-F format] [-n window-name] [-s session-name] [-t tar
get-session] [-x with] [-y height] [command]
然后尝试tmux ls
看看是否有任何东西在树莓上给我这个:
failed to connect to server: No such file or directory
在cygwin上,如果没有会话正在运行,它会给我这个:
no server running on /tmp/tmux-197609/default
两个不同平台上的tmux如何表现完全不同?我在覆盆子(sudo apt-get install tmux
)上安装错了吗?
我完全没有想法这里可能存在什么问题,所以非常感谢任何帮助。 (对不起,混淆拼写和语法,非英语母语者)