用一条命令将一些内容输入到一个文件中解决方法
用一条命令将一些内容输入到一个文件中
以上是一个 modify_pwd.sh, 可以执行成功! 功能是非交互式实现改密码!
我想用一条命令生成 modify_pwd.sh 文件,内容就是上面的!
当然有哪个更牛的,一条命令就让它直接改密码,不需要放到文件里再执行也行!
------解决方案--------------------
直接看不懂你问的问题,直接echo 一下不就生成这个文件了?你的意思是?
- 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这样,普通用户不能这样做
几个星期前才给别人回答过这个问题,居然想了大半天才想起是这么做的