在shell脚本里执行某一行语句需要切换到其他用户,如何实现自动交互输入用户密码,用bash,不要expect   不要expect  不要expect

解决方案 »

  1.   


    #!/bin/bash
    # user 是用户名
    su - user -c "ls /"
      

  2.   

    这样跑脚本的时候还是要手动输入user的密码才行,我不要手动输入而是全部在脚本里面执行
      

  3.   


    #!/bin/bash
    #  password 是密码 user 是用户名 
    echo 'password'  | su - user -c "ls /"
      

  4.   

    这样运行提示 stangard in must be a tty  是啥意思呀
      

  5.   

    你能把你运行的脚本发过来吗,可能你的su 只能哪接受tty的输入
      

  6.   

    还有你是不是使用ssh 登录的终端执行的脚本
      

  7.   

    我是用secureCRT 工具连接服务器的,脚本就是简单的切换用户执行ll命令都是这样
      

  8.   

    你看看CRT有没有分配终端的机制 比如类似 ssh -t这种。还有你看看你/etc/sudoers 有没有Defaults requiretty” 这一行