linux 自动交互,shell 自动交互式处理命令的两种方法实践

1:use echo -e

example:

echo -e "n\np\n1\n\n+100M\nn\np\n2\n\n+1024M\nw\n"|fdisk /dev/vdb

\n代表回车

[[email protected] ~]# fdisk -l /dev/vdb

Disk /dev/vdb: 8589 MB, 8589934592 bytes

16 heads, 63 sectors/track, 16644 cylinders

Units = cylinders of 1008 * 512 = 516096 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

echo -e "n\np\n1\n\n+100M\nn\np\n2\n\n+1024M\nw\n"|fdisk /dev/vdb &> /dev/null

[[email protected] ~]# fdisk -l /dev/vdb

Disk /dev/vdb: 8589 MB, 8589934592 bytes

16 heads, 63 sectors/track, 16644 cylinders

Units = cylinders of 1008 * 512 = 516096 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x99657b78

Device Boot      Start         End      Blocks   Id  System

/dev/vdb1               1         204      102784+  83  Linux

/dev/vdb2             205        2286     1049328   83  Linux

[[email protected] ~]#

ok

2.expect:

notice:  you should  use “yum install expect” at begining。

1 #!/usr/bin/expect

2 spawn fdisk  /dev/vdb

3 expect Command

4 send "n\r"

5 send "p\r"

6 send "1\r"

7 send "\r"

8 send "+100M\r"

9 expect "Command"

10

11

12 send "n\r"

13 send "p\r"

14 send "2\r"

15 send "\r"

16 send "+1G\r"

17 send "w\r"

18 expect eof

两者异曲同工!~~~~~~~~~~~~

选择自己喜欢的把 对了,在bash里面调用expect的话格式如下

/usr/bin/expect <

具体内容~~~~~

EOF

是不是很方便呢 ~~                                                       -单纯酱

原文:http://my.oschina.net/loveleaf/blog/492271

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值