执行从php获取输入的bash命令

时间:2016-06-15 14:13:48

标签: php bash

我有一个用于执行bash命令的php脚本。

bash命令在开始时不接受参数,即

ssh root@ip

但是,执行此命令时,稍后需要用户输入。

那我怎么能用php实现这个呢?

1 个答案:

答案 0 :(得分:2)

您可以使用popen返回文件句柄:

import java.awt.*; 
import javax.swing.*;
import java.io.*;

public class TicTacToe
{
  public static void main ( String[] args )
   {
ButtonFrame frm = new ButtonFrame("TicTactToe");

frm.setSize(300, 450);     
frm.setVisible( true );

  }
}


class ButtonFrame extends JFrame
{
JButton bChange; 


ButtonFrame(String title) 
{
    super( title );

    ImageIcon XIcon = new ImageIcon("X.png");
    Icon OIcon = new ImageIcon("O.png");


    setLayout( new FlowLayout() );      // set the layout manager

    //top row
    bChange = new JButton(XIcon);  
    add( bChange );
    setSize(400, 400);                      


    bChange = new JButton("Button2");  
    add( bChange );                      


    bChange = new JButton("Button3");  
    add( bChange );                      


    //middle row
    bChange = new JButton("Button4");  
    add( bChange );                      


    bChange = new JButton("Button5");  
    add( bChange );                      


    bChange = new JButton("Button6");  
    add( bChange );                      


    //bottom row
    bChange = new JButton("Button7");  
    add( bChange );                      


    bChange = new JButton("Button8");  
    add( bChange );                      


    bChange = new JButton("Button9");  
    add( bChange );                      

    setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

    }
}   

示例:

$handle = popen("ssh root@ip", "w");
fwrite($handle, "This is send as stdin\n");
// ...
pclose($handle);

将使用包含<?php $handle = popen("cat - > a.txt", "w"); fwrite($handle, "hello world\n"); // ... pclose($handle); ?> 的<{1}}创建。