Hallo, Am Sat, 24 May 2014, susan_ivanova@vimutik.de schrieb:
Warum nicht:
gefunden=$(cat /proc/mounts | grep -c Ordner)
UUOC! if grep -q ' /Ordner ' /proc/mounts/; then : ... else : ... fi Und verdammt nochmal: '[' ist der Befehl 'test'! Dokumentiert als bash-builtin in 'help test', als binary in 'man test'! Macht mal ein 'ls -l /usr/bin/['! Das 'if [ ... ]' ist nur eine Spezialität von test, das es als letztes Argument ein ']' verlangt, wenn es als '[' aufgerufen wird (ebenso das builtin). Das ist _NICHT_ Shellsyntax wie [[ ... ]] oder (( ... )) oder $[ .. ] oder $( .. ) oder oder. Die Syntax von if ist: if COMMANDS; then COMMANDS; [ .. ]... [ else COMMANDS; ] fi COMMANDS ist dabei ein Liste von Befehlen, zu denen u.a. builtins wie test oder [[ .. ]], oder eben externe Befehle (wie grep) gehören können. Ich empfehle daher seit Jahren jedem immer "test" zu verwenden, und nicht die ' [ .. ] ' Version. Denn die verlangt übrigens zwingend Leerraum um die [ und ] rum! Das ist noch ne zusätzliche Falle... Kurzum: statt ' [ ... ] ' immer 'test ...' verwenden und es wird viel klarer was man macht ... Statt: if [ ... ]; then ^ ^ ^ - alles _PFLICHT_ Spaces! immer: if test ...; then Das ist gerade mal 1 Zeichen mehr zu tippen! Und macht einem jedesmal auch klar, daß man 'if CMDS ; then' verwendet und nicht irgendeine Shell-Syntax. HTH & HAND, -dnh -- Disarmament separates you from your phallic substitute. Walking around nude shows the world why you need one. -- The Usenet Oracle -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org