Hogyan tudsz írni olyan (bash) scriptet ami futáskor nyomtalanul kitörli magát?
Bár nem értek a programozáshoz, de a poén kedvéért kipróbáltam, hogy mi történik, ha egy BAT fájl végére beírom az önmagát törlő parancsot
(Pl. egy TESZT.BAT nevű fájl végére a "DEL TESZT.BAT" parancsot)
Lefut a paranccsor, majd törlődik a fájl, tehát itt működik.
Esetleg hasonlóképpen működhet az általad említett scripttel is
(De csak tipp)
Szerintem túlbonyolítod. Ez így miért nem jó?
filenév: test.sh
#!/bin/bash
echo "Ezt csinálja a program"
# Végén kitörlöd...
rm -f test.sh
sőt: simán megoszthatod a scriptet neten is, és akkor elég a terminálba:
curl -s [link] | bash
#3-as voltam.
Igen tényleg túlbonyolítottam, akit érdekel itt van egy script(egyik a neve) amit ha meghívsz törli magát de létrehozza a masik scriptet, ami ugyanazt csinálja csak fordítva:
if [ $0 == "./egyik" ]
then
nev=egyik
kovinev=masik
else
kovinev=egyik
nev=masik
fi
if [ $# -gt 0 ]
then
rm $kovinev
exit 0
fi
echo "En a(z) $nev script voltam, most eltunok, de ha gondolod $kovinev-t meg tudod hivni"
touch seged
rm seged
echo cp $nev $kovinev >> seged
echo chmod +x $kovinev >> seged
chmod +x seged
./seged
rm seged
./$kovinev 0
sot ekkor át is nevezheti és mindig magát törli ki.
script_name=$(basename -- "$0")
rm "$script_name"
bár ez jobb mertz most nekem ha másik dirből is indítottam akkor is törölte magát.
script_name=$(basename -- "$0")
dirname="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
filename_with_path="$dirname"/"$script_name"
rm "$filename_with_path"
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!