2017-08-19 2 views
0

Angenommen, der Befehl „finden dir -name "Script" ist richtig und Druck Alle Lage von Skript in Richt. Ich will es tun mit tcsh SkriptBefehl find in foreach funktioniert nicht in tcsh

foreach f (find dir -name "script") 
echo "$f" 
$f #execute this script 

, aber es funktioniert nicht

Antwort

0

ich glaube, Sie Graviszeichen vergessen um Ihren find Befehl:.

foreach f (`find dir -name script`) 
0
set locations = `find dir -name “script”` 

echo “#\!/bin/tcsh” > scriptRunList 

foreach location ($locations) 

    echo $location >> scriptRunList 

end 

chmod +x scriptRunList 

scriptRunList 

Ich denke, das tut was Sie wollen und erzeugt eine Liste der Skripte, die als Nebeneffekt ausgeführt wurden.

tcsh $ f - würde funktionieren und keine Nebenwirkung Dateien. Ich habe die Angewohnheit, Protokolldateien zu speichern, da ich normalerweise wissen muss, was zu welcher Zeit in welcher Version ausgeführt wurde. Alte Gewohnheiten.