Ik ben bang dat ik iets vreselijk over het hoofd zie... Maar ik ben nu al zo gaar van het proberen en proberen ik wordt er helemaal lam van...
Ik heb een script dat aangepast moet worden via input in een ander script, in dit eerste script heb ik in eerdere functies al wat dingen succesvol aangepast met sed -i.
Nu wil ik een naam opgeven om mee te prefixen en cp dan het script met de prefix ervoor: cp $PREFIX-bestandsnaam. Daarna moet sed nog het pad en aanpassen en een nummer. maar dat gaat mis, output terminal sed: command not found. Slaat nergens op (volgens mij) want het bestand met de prefix erin en dergelijke bestaat gewoon en de te vervangen termen erin ook. Als ik in plaats van sed de boel echo dan staat er ook precies wat de bedoeling is, dus alle paden zijn correct...
De boosaardige functies:
Als ik bovenstaande functies even test met de files op de juiste plek dan krijg ik dus:
./tester: regel 34: sed: opdracht niet gevonden
Maar dit is toch een valide sed opdracht?
een paar functies ervoor doe ik er tig achter elkaar en dat gaat prima...
Ik heb een script dat aangepast moet worden via input in een ander script, in dit eerste script heb ik in eerdere functies al wat dingen succesvol aangepast met sed -i.
Nu wil ik een naam opgeven om mee te prefixen en cp dan het script met de prefix ervoor: cp $PREFIX-bestandsnaam. Daarna moet sed nog het pad en aanpassen en een nummer. maar dat gaat mis, output terminal sed: command not found. Slaat nergens op (volgens mij) want het bestand met de prefix erin en dergelijke bestaat gewoon en de te vervangen termen erin ook. Als ik in plaats van sed de boel echo dan staat er ook precies wat de bedoeling is, dus alle paden zijn correct...
De boosaardige functies:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
| SCANPATH=scanPath.sh;
INSTALLDIR=/home/$USER/test;
Question_Path() {
read -p "(yes/no) :" REPLY
case $REPLY in
[Yy]*)
echo
read -p "Give a name to this search (e.g. Movies) :" PREFIX
echo "Creating batchfile $PREFIX-$SCANPATH in $INSTALLDIR..."
cp $INSTALLDIR/$SCANPATH $INSTALLDIR/$PREFIX-$SCANPATH &&
sudo chmod +x $INSTALLDIR/$PREFIX-$SCANPATH &&
set_Path
;;
[Nn]*)
;;
*)
echo "Answer yes or no"
Question_Path
;;
esac
}
set_Path () {
echo
echo 'Please specify the full path to your folder containing moviefiles'
echo "e.g. /home/$USER/Videos"
read -p ":" PATH
if [ -d $PATH ]
then
sed -i "s#/PATH/TO/VIDEOS#$PATH#g" $INSTALLDIR/$PREFIX-$SCANPATH
set_Age
else
echo "$PATH doesn't exist, try again"
set_Path
fi
}
set_Age () {
echo
echo 'Please specify how many days back Periscope should search for'
echo "e.g. 7"
read -p ' :' AGE
if [ $AGE -eq $AGE 2> /dev/null ]
then
sed -i "s/AGE_DAYS/$AGE/g" $INSTALLDIR/$PREFIX-$SCANPATH
set_Cron
else
echo "$AGE is not a numeric value, try again"
set_Age
fi
}
Question_Path |
Als ik bovenstaande functies even test met de files op de juiste plek dan krijg ik dus:
./tester: regel 34: sed: opdracht niet gevonden
Maar dit is toch een valide sed opdracht?
een paar functies ervoor doe ik er tig achter elkaar en dat gaat prima...