使用bash脚本启动屏幕,然后拆分屏幕并调整其大小

时间:2014-01-16 19:41:20

标签: bash scripting terminal

我正在尝试构建一个bash脚本来启动一个屏幕会话,拆分屏幕然后调整其中一个屏幕。以下是我从终端手动运行的内容。

$screen
$ cd /some/directory

控制 a 然后 Shift S //将屏幕分成两部分

控制 a 标签 //导航到" new"屏

Control c //创建另一个终端

控制 a :调整大小-15 //调整屏幕大小

$cd /another/dictionary

控制 a 标签 //导航到第一个屏幕

$clear

我已经完成了一些bash脚本,但没有任何按键操作。我一直在尝试在bash脚本中找到要发送 control a 的内容但是我不确定我是否可以或者在我启动屏幕之后是否我可以这样与屏幕互动。我还没能在谷歌搜索中找到任何东西。非常感谢任何帮助或指导。

2 个答案:

答案 0 :(得分:1)

我知道这已经老了,但我也需要这个,但找不到答案。我终于解决了这个问题:

  • 制作配置文件,例如 .splitscreenrc

    chdir /etc
    screen 0
    stuff "ls -1\n"
    split
    focus down
    resize 3
    chdir /tmp
    screen 1
    stuff "ls\n"
    focus up
    
  • 运行screen -c .splitscreenrc

希望这有助于某人;)

答案 1 :(得分:0)

使用expect

#!/usr/bin/expect -f
set prompt {\$ }   ;# this is a regular expression to match your shell prompt
set dir1 /tmp
set dir2 /var/log

spawn screen
expect -re $prompt
send -- "\001S"
expect -re $prompt
send -- "cd $dir1\r"
expect -re $prompt
send -- "\001\t"
send -- "\001c"
expect -re $prompt
send -- "\001:resize -15\r"
send -- "cd $dir2\r"
expect -re $prompt
send -- "\001\t"
send -- "clear\r"

interact