Portál AbcLinuxu, 10. května 2025 02:11

Dotaz: Linux - Pomoc s napsáním podmínky v Shell/Bash

24.4.2015 10:26 Junior
Linux - Pomoc s napsáním podmínky v Shell/Bash
Přečteno: 149×
Odpovědět | Admin
Ahoj, potřeboval bych pomoc s napsáním podmínky. Mám adresář /home/foo a adresář /home/bar. V obou adresářích jsou další adresáře různě vnořeny. Potřebuji napsat podmínku, která zjistí zda soubor v adresáři existuje.

Příklad
if [[ -f "/home/foo/1/2/10/file" ]]
then
# soubor existuje
fi

if [[ -f "/home/bar/file" ]]
then
# soubor existuje
fi
Jenže já potřebuji vědět, zda hledal v adresáři 'foo' nebo v adresáři 'bar', je totiž možné, že budou existovat v obou adresářích. Pomůže někdo? Děkuji
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.4.2015 12:05 nobody
Rozbalit Rozbalit vše Re: Linux - Pomoc s napsáním podmínky v Shell/Bash
Odpovědět | | Sbalit | Link | Blokovat | Admin
asi nerozumim, jestli ti jde o to aby jsi zjistil kde nalezl, tak netestuj cestu ale obsah promene kde bude cesta a kdyz jo tak i zobraz tu promenou, teda neco jako:
hledej="/home/foo/file"
if [ -f "$hledej" ]; then 
	echo "soubor $hledej existuje"
fi

hledej="/home/bar/file"
if [ -f "$hledej" ]; then 
	echo "soubor $hledej existuje"
fi
nebo lepe s funkci hledej:
hledej(){
	if [ -f "$1" ]; then 
		echo "soubor $1 existuje"
	fi
}

hledej /home/foo/file

hledej /home/bar/file
24.4.2015 12:10 NN
Rozbalit Rozbalit vše Re: Linux - Pomoc s napsáním podmínky v Shell/Bash
Odpovědět | | Sbalit | Link | Blokovat | Admin
if find /home/foo /home/bar -type f -name "foobar" ..

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.