Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Script (bash), dass Verzeichnisstrukturen vergleicht und Links anlegt...

Empfohlene Antworten

PERFEKT! Jetzt geht es problemlos!

Ich dankeeeeeeeeeeee euch! :) :uli :)

dann is ja gut wenn alle happy sind :)

ich hab doch ne Frage... :rolleyes:

wir haben ja jetzt einfach ein rm -Rf /$ZIEL/* und löschen sicherheitshalber den ganzen Inhalt des Zielordners...

Wie müsste das denn aussehen, wenn man eine Überprüfung einbauen will und die Links nur dann anlegt wenn Sie noch nicht vorhanden sind? Also nur neue anlegt...

Moin,

der folgende Codeschnipsel sollte dir weiterhelfen (Inhalt von xx: 1x der Name eines existierenden Links und 1x ein Name eines nicht existenten Links):

#! /bin/bash

for name in $(cat xx); do

    test [b]-L[/b] "$lnam" && {

        echo "'$name' ist ein vorhandener Link.";

    } || {

        echo "'$name' ist kein Link.";

    }

done

okay - danke :)

aaaber - an welcher Stelle muss ich das jetzte einbauen damit es funktioniert? :confused:

das rm -Rf /$ZIEL/* nehme ich raus.

Und dann baue ich das andere....wo und wie ein?

Tut mir leid aber ich bin doch nen Anfänger... :hells:

moin,

ich würde sagen genau an der Stelle wo du das rm -Rf /$ZIEL/* entfernst. Aber du solltest die "echo"-Zeilen dann druch deine gewünschten Aktionen ersetzen :)

cu

  • 2 Wochen später...

hmhm... ich war leider sehr lange krank und konnte nicht weitermachen.. also ich grabe den threat mal wieder aus :)

das mit dem cat xx habe ich noch nicht wirklich verstanden.. ich habe es jetzt mal so umgebaut:

#!/bin/sh

#set -x

clear

echo

echo

echo "SYMLINKS"

echo

#Konfiguration

QUELLE=home/test

ZIEL=home/test2

#Root-Rechte

if [ "$UID" -ne "0" ]

then

echo "Sie benoetigen Root-Rechte."

exit $E_NOTROOT

fi

#Symlink

for name in $(cat xx); do

test -L "$lnam" && {

echo "'$name' ist ein vorhandener Link.";

} || {

echo "'$name' ist kein Link.";

foo=0

for i in $(find /$QUELLE/)

do

liste[$foo]=$(basename $i)

foo=$foo+1

done

for name in ${liste[@]}

do

eins=${name:0:1}

zwei=${name:1:1}

mkdir -p /$ZIEL/$eins/$zwei

ln -sf /$QUELLE/$name /$ZIEL/$eins/$zwei/$name

done

}

done

echo "Die Links wurden erfolgreich angelegt bzw. aktualisiert!"

echo

exit 0

Aber dabei bekomme ich folgendes: cat: xx: No such file or directory

for name in $(cat xx); do

Darauf bezieht sich doch der Fehler...

was willst du da auslesen ... xx ? In welchem Verzeichnis? Oder meintest du damit was anderes.... ?

Wie auf Seite 2 steht. Ich will nicht einfach alle Ordner löschen und alle Symlinks neu anlegen sondern überprüfen ob sie schon vorhanden sind und wirklich nur dann neu anlegen...

also will ich hmhm auslesen ob es halt den Symlink den er gerade anlegen soll schon gibt... irgendwie so...

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.