Add to text file from command line via echo... possible to add to a particular line?[Scanned]

Paul Howarth paul at city-fan.org
Thu Jun 29 15:14:16 UTC 2006


On Thu, 2006-06-29 at 16:07 +0100, Chris Bradford wrote:
> Paul Howarth wrote:
> > On Thu, 2006-06-29 at 07:42 +0100, Chris Bradford wrote:
> >   
> >> Hi guys,
> >>
> >> I'm making a setup script for my Linux boxes that re-install Openldap 
> >> and some other bits and bobs. I need to add some text to /etc/pam.d/gdm 
> >> for example, and it needs to be on a particular line in this file, not 
> >> at the bottom.
> >>
> >> For example using the command:
> >>
> >> echo 'session   required   pam_mkhomedir.so skel=/etc/skel umask=0077' 
> >>  >> /etc/pam.d/gdm
> >>
> >> Will only add this to the bottom of the file, can I get around this, it 
> >> needs to be on the same position on all machines, ie line 8.
> >>     
> >
> > How about:
> >
> > awk '	NR == 8 {
> > 		printf "session    required     pam_mkhomedir.so skel=/etc/skel
> > umask=007\n"
> > 	}
> > 	{ print }' /etc/pam.d/gdm > /etc/pam.d/gdm.new
> > mv /etc/pam.d/gdm.new /etc/pam.d/gdm
> >
> > Paul.
> >
> >   
> Paul,
> 
> Thats got it thanks :) I don't suppose there is a simple way to put a 
> yes/no question into the script, if answered yes another script will be 
> called, if no then its not?

There are some examples of reading user input here:

http://www.hccfl.edu/pollock/AUnix1/fancyio.htm

Paul.




More information about the fedora-list mailing list