From f831f85dfd2e1c2049738dedb3181de2c634f67f Mon Sep 17 00:00:00 2001 From: Steffen Probst Date: Thu, 11 Nov 2021 13:11:38 +0100 Subject: [PATCH] =?UTF-8?q?=E2=80=9Eetc/rc.local=E2=80=9C=20=C3=A4ndern?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Überarbeitet. Jetzt wird die macadresse von 1. Netzwerkgerät für den Namen genommen. Muss noch sauber gemacht werden! --- etc/rc.local | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/etc/rc.local b/etc/rc.local index a8f0fb3..a52bbcb 100755 --- a/etc/rc.local +++ b/etc/rc.local @@ -1,5 +1,4 @@ -#!/bin/sh -e -# +#!/usr/bin/env bash # rc.local # # This script is executed at the end of each multiuser runlevel. @@ -11,6 +10,8 @@ # # By default this script does nothing. +set -e + which chromium-browser > /dev/null && [ -d /etc/chromium ] && mv /etc/chromium/ /etc/chromium-browser sleep 10 @@ -22,18 +23,15 @@ if [ "$_IP" ]; then printf "My IP address is %s\n" "$_IP" fi -# set hostname -#if [ -f /boot/client-cfg/hostname.txt ]; then -# hostname --file /boot/client-cfg/hostname.txt -#fi +macaddress=$(find /sys/class/net -mindepth 1 -maxdepth 1 ! -name lo -printf "%P: " -execdir cat {}/address \; | cut -f 2 -d ' ') #Hostname wird anhand des WLAN0 erstell / kann auch entsprechend auf anderes Geraet umgestellt werden #ip a s wlan1 2&>1 /dev/null || #Check einbauen der aktive Verbindung prüft if [ -d /home/pi ]; then - echo pi$(cat /sys/class/net/wlan0/address | sed s'/://g') > /tmp/hostname && hostname --file /tmp/hostname + echo pi$(echo $macaddress | sed s'/://g') > /tmp/hostname && hostname --file /tmp/hostname else - echo thin$(cat /sys/class/net/wlan0/address | sed s'/://g') > /tmp/hostname && hostname --file /tmp/hostname + echo thin$(echo $macaddress | sed s'/://g') > /tmp/hostname && hostname --file /tmp/hostname fi cp /tmp/hostname /etc/hostname @@ -43,7 +41,7 @@ ip_address="127.0.2.1" host_name=$(cat /tmp/hostname) # find existing instances in the host file and save the line numbers matches_in_hosts="$(grep -n $host_name /etc/hosts | cut -f1 -d:)" -host_entry="${ip_address} ${host_name} ${host_name}.lebenshilfe.local" +host_entry="${ip_address}\ ${host_name}\ ${host_name}.lebenshilfe.local" echo "Please enter your password if requested." @@ -53,15 +51,13 @@ then # iterate over the line numbers on which matches were found while read -r line_number; do # replace the text of each line with the desired host entry - sudo sed -i '' "${line_number}s/.*/${host_entry} /" /etc/hosts + sed -i ${line_number}s'/.*/${host_entry}/' /etc/hosts done <<< "$matches_in_hosts" else echo "Adding new hosts entry." echo "$host_entry" | sudo tee -a /etc/hosts > /dev/null fi -#Fuer eth0, wenn kein WLAN vorhanden ist. Kann dann auskommentiert werden. -#echo rpi$(cat /sys/class/net/eth0/address | sed s'/://g') > /tmp/hostname && hostname --file /tmp/hostname # set network