小编sup*_*ren的帖子

如何在 pexpect 中查看输出?

我写了这个程序:

[mik@mikypc ~]$ cat ftp.py 
 #!/usr/bin/env python

 # This connects to the rediris ftp site
 # 
 import pexpect
 child = pexpect.spawn('ftp ftp.rediris.es')

 child.expect('Name .*: ')
 child.sendline('anonymous')
 child.expect('ftp> ')
 child.sendline('noah@example.com')
 child.expect('ftp> ')
 child.sendline('lcd /tmp')
 child.expect('ftp> ')
 child.sendline('pwd')
 child.expect('ftp> ')
 child.sendline('bye')

[mik@mikypc ~]$ ./ftp.py 
[mik@mikypc ~]$ 
[mik@mikypc ~]$ 
[mik@mikypc ~]$ 
Run Code Online (Sandbox Code Playgroud)

但我看不到输出。我怎么能看到?。当我执行它时,我什么也看不到。我怎么能看到输出?

python pexpect

3
推荐指数
1
解决办法
1万
查看次数

如何将命令行中的参数与一个正则表达式匹配?

我有一个脚本,我想在命令行中禁止一些命令(shutdown,rm,init).但它似乎不起作用,因为它似乎匹配一切:我怎么能这样做?

[root@devnull hunix]# cat p.sh
#!/bin/bash

string=$1;

if [[ "$string" =~ [*shut*|*rm*|*init*] ]]
then
  echo "command not allowed!";
  exit 1;
fi
[root@devnull hunix]# ./p.sh shutdown
command not allowed!
[root@devnull hunix]# ./p.sh sh
command not allowed!
[root@devnull hunix]# ./p.sh rm
command not allowed!
[root@devnull hunix]# ./p.sh r
command not allowed!
[root@devnull hunix]#
Run Code Online (Sandbox Code Playgroud)

regex linux bash shell parameter-passing

1
推荐指数
1
解决办法
96
查看次数

标签 统计

bash ×1

linux ×1

parameter-passing ×1

pexpect ×1

python ×1

regex ×1

shell ×1