Please read the following carefully: throughout this book the variable $LFS will be used frequently. $LFS must at all times be replaced by the directory where the partition that contains the LFS system is mounted. How to create and where to mount the partition will be explained in full detail in chapter 4. In my case, the LFS partition is mounted on /mnt/lfs.
For example when you are told to run a command like ./configure --prefix=$LFS you actually have to execute ./configure --prefix=/mnt/lfs
It's important that this is done no matter where it is read; be it in commands entered in a shell, or in a file edited or created.
A possible solution is to set the environment variable LFS. This way $LFS can be entered literally instead of replacing it by /mnt/lfs. This is accomplished by running export LFS=/mnt/lfs.
Now, if you are told to run a command like ./configure --prefix=$LFS you can type that literally. Your shell will replace $LFS with /mnt/lfs when it processes the command line (meaning when you hit enter after having typed the command).
If you plan to use $LFS, do not forget to set the $LFS variable at all times. If the variable is not set and is used in a command, $LFS will be ignored and whatever is left will be executed. A command like echo "root:x:0:0:root:/root:/bin/bash" > $LFS/etc/passwd without the $LFS variable set will re-create your host system's /etc/passwd file. Simply put: it will destroy your current password database file.
One way to make sure that $LFS is set at all times is adding it to the /root/.bash_profile and/or /root/.bashrc file(s) so that every time you login as user root, or you 'su' to user root, the $LFS variable is set.