On Thu, Oct 27, 2011 at 11:48 AM, Dave Reisner <d@falconindy.com> wrote:
On Thu, Oct 27, 2011 at 11:36:01AM +0800, lolilolicon wrote:
On Thu, Oct 27, 2011 at 7:44 AM, Dave Reisner <d@falconindy.com> wrote:
On Thu, Oct 27, 2011 at 01:38:27AM +0200, Tom Gundersen wrote:
If /etc/hostname is non-empty its contents is assumed to be the hostname. This takes precedence over HOSTNAME in rc.conf.
Signed-off-by: Tom Gundersen <teg@jklm.no> --- rc.sysinit | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/rc.sysinit b/rc.sysinit index dffea4d..3e5fec9 100755 --- a/rc.sysinit +++ b/rc.sysinit @@ -232,6 +232,9 @@ RANDOM_SEED=/var/lib/misc/random-seed # Remove leftover files remove_leftover
+if [[ -s /etc/hostname ]]; then + HOSTNAME=$(cat /etc/hostname)
No need to fork. This should be a one line file.
read -r HOSTNAME < /etc/hostname
If /etc/hostname does not end with a newline, `read' will return 1. Not sure if it matters here, but worth mentioning.
How about, HOSTNAME=$(< /etc/hostname)
read returns 1 on EOF, too. Yes, we probably should cater to special people who want to bloat their /etc/hostname.
IFS=$'\n' read -rd '' HOSTNAME </etc/hostname
Presumably there won't be any liternal NUL in /etc/hostname, so the above: - strips the leading and traling newlines, and assign everything in between to HOSTNAME. - always returns 1 My question is, technically, what characters are allowed in HOSTNAME? Is newline allowed? How about NUL?
d