用一条命令将一些内容输入到一个文件中解决方法

用一条命令将一些内容输入到一个文件中
Perl code

#!/bin/bash  
(echo "poiu09"  
usleep 10  
echo "poiu08"   
usleep 10  
echo "poiu08")|passwd



以上是一个 modify_pwd.sh, 可以执行成功! 功能是非交互式实现改密码!

我想用一条命令生成 modify_pwd.sh 文件,内容就是上面的!

当然有哪个更牛的,一条命令就让它直接改密码,不需要放到文件里再执行也行!

------解决方案--------------------
直接看不懂你问的问题,直接echo 一下不就生成这个文件了?你的意思是?

Assembly code

[freebsd:~/shcode ]$echo '#!/bin/bash  
> (echo "poiu09"  
> usleep 10  
> echo "poiu08"   
> usleep 10  
> echo "poiu08")|passwd' > sh900.sh
[freebsd:~/shcode ]$cat sh900.sh
#!/bin/bash  
(echo "poiu09"  
usleep 10  
echo "poiu08"   
usleep 10  
echo "poiu08")|passwd
[freebsd:~/shcode ]$

------解决方案--------------------
你本来的办法也是一个命令,只是命令长了点.可以把你的命令放到一个脚本文件中,从脚本运行的参数取得oldpass和newpass.

~> cat /tmp/changepass 
#! /bin/bash
(echo $1
usleep 10
echo $2
usleep 10
echo $3) | passwd

要改密码的话, 运行(我没测试过):

~> /tmp/changepass oldpass newpass newpass



------解决方案--------------------
[root@RHEL6A ~]# echo aaaaaa|passwd --stdin user25

这样可以,但是只能root这样,普通用户不能这样做

几个星期前才给别人回答过这个问题,居然想了大半天才想起是这么做的