使用bash脚本查找和替换文本
我有下面的脚本,它使用一个密码文件更改密码,我已将密码以正确的格式传送到该文件。但是,下一个命令需要具有修订格式的密码文件。目前,我只是删除并重新创建了该文件,但只需编辑它就好了,我只是不确定如何:使用bash脚本查找和替换文本,bash,shell,suse,Bash,Shell,Suse,我有下面的脚本,它使用一个密码文件更改密码,我已将密码以正确的格式传送到该文件。但是,下一个命令需要具有修订格式的密码文件。目前,我只是删除并重新创建了该文件,但只需编辑它就好了,我只是不确定如何: sudo touch /tmp/password.txt sudo chmod 600 /tmp/password.txt sudo echo "AS_ADMIN_PASSWORD=" > /tmp/password.txt sudo echo "AS_ADMIN_NEWPASSWORD=Pa
sudo touch /tmp/password.txt
sudo chmod 600 /tmp/password.txt
sudo echo "AS_ADMIN_PASSWORD=" > /tmp/password.txt
sudo echo "AS_ADMIN_NEWPASSWORD=Pa55w0rd2" >> /tmp/password.txt
sudo /opt/glassfish3/bin/asadmin --user admin --passwordfile /tmp/password.txt change-admin-password \
--domain_name domain1
sudo rm /tmp/password.txt
sudo touch /tmp/password.txt
sudo chmod 600 /tmp/password.txt
sudo echo "AS_ADMIN_PASSWORD=Pa55w0rd2" > /tmp/password.txt
sudo /opt/glassfish3/bin/asadmin --user admin --passwordfile /tmp/password.txt enable-secure-admin
非常适合
sed
:
sed -i '/^AS_ADMIN_PASSWORD=/d' /tmp/password.txt
这将在适当位置删除与给定正则表达式匹配的行。与您的问题无关,但请注意,
sudo echo“AS_ADMIN\u PASSWORD=“>/tmp/PASSWORD.txt
可能没有执行您认为的操作。由于i/o重定向/tmp/password.txt
在调用命令之前在本地shell中发生,因此sudo
是一个no-op。