staging.inyokaproject.org

grep - Maskierung - Datei/Verzeichnis nicht gefunden

Status: Ungelöst | Ubuntu-Version: Server 16.04 (Xenial Xerus)
Antworten |

chefkoch293

Anmeldungsdatum:
2. Oktober 2016

Beiträge: Zähle...

Hey, ich möchte mit dem Script ein Suchbegriff auf meiner Platte suchen und relevanten Siten dann im Webbrowser öffnen.

Er meldet aber bei Testläufen:

./suche: Zeile 5: ./XXXXXXXX: Datei oder Verzeichnis nicht gefunden

Code:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
#!/bin/bash

para=""
in=$(grep -ril "$@" .)
$in | while read -r line; do
	para=$para+'"'+$lined+'"'
	echo $para
done


if [ ! -z $para]
then
	/usr/bin/firefox <<<$para
fi

Bearbeitet von rklm:

Syntaxhighlighting und Codeblock. Bitte mach Dich mit Forum/Syntax vertraut.

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Hi chefkoch293,

zuerst mal herzlich willkommen hier bei uns auf dem Forum !

Wo hast Du denn die Idee her, den Inhalt einer Variable als Befehl ausführen zu lassen ?? (genau das tust Du nämlich in Zeile 5 !)
Da kann doch sonstwas geschehen, je nachdem was da gerade zufällig in der Variablen steht.

Was willst Du genau erreichen ? - soll der Suchbegriff im Dateinamen vorkommen, oder soll er im Dateiinhalt gefunden werden ?

Auf jeden Fall brauchst Du find (→ man find) um die ganzen Dateien abzugrasen, und nicht so eine unsichere Sache mit while read !

An das find kannst Du ja ggf. was dranhängen, am einfachsten mit einer Untershell:

1
find .... -exec bash -c '# hier kommen die Befehle hin' {} \;

Überhaupt möchtest Du Dich ins Thema Variablen einlesen, vermute ich mal ... 😉

LG,

track

Antworten |