Szervusztok!
Van egy exe-m, amit 7z-vel tömörítek ki. A 7z -y X paraméterekkel fut, és a kimenete egy $_OUTDIR könyvtárba kerül.
Ennek a könyvtárnak a tartalmát szeretném átmozgatni, de nem tudom. :( Segítsetek!
Már idáig jutottam:
#!/bin/bash -u
set -x
mkdir -p "/tmp/\$_OUTDIR"
cd "${_}"
echo "hello" > test.file
rm -rf "/tmp/target" > /dev/null
mkdir "/tmp/target"
cp -r "/tmp/\$_OUTDIR" "/tmp/target/"
ls -al "/tmp/target/"
rm -rf "/tmp/\$_OUTDIR"
Köszönöm előre is!
Üdv,
vfero
UPDATE:
~~~~~~~
A megoldás az lett, hogy:
8,9c8,9
< mkdir "/tmp/target"
< cp -r "/tmp/\$_OUTDIR" "/tmp/target/"
---
> # mkdir "/tmp/target"
> mv '/tmp/$_OUTDIR' "/tmp/target/"
Köszi +1x mindenkinek! ;)
vfero
- 1062 megtekintés
Hozzászólások
Ebbe hol a mozgatás?
Lehet félreértelek, de így nem jó?
#!/bin/bash -u
set -x
mkdir -p "/tmp/\$_OUTDIR"
cd "${_}"
echo "hello" > test.file
rm -rf "/tmp/target" > /dev/null
mv "/tmp/\$_OUTDIR" "/tmp/target/"
ls -al "/tmp/target/"
- A hozzászóláshoz be kell jelentkezni
Sajnos nem, ugyanúgy szerepel a target könyvtárban a $_OUTDIR.
- A hozzászóláshoz be kell jelentkezni
Elég hihetetlen, hacsak nincs eleve egy target nevű könyvtár (akkor értelemszerűen abba mozgatja bele az $_OUTDIR-t).
me@mycomp:/tmp$ ./s.sh
+ mkdir -p '/tmp/$_OUTDIR'
+ cd '/tmp/$_OUTDIR'
+ echo hello
+ rm -rf /tmp/target
+ mv '/tmp/$_OUTDIR' /tmp/target/
+ ls -al /tmp/target/
összesen 76
drwxr-xr-x 2 me me 4096 okt 15 09:36 .
drwxrwxrwt 14 root root 65536 okt 15 09:36 ..
-rw-r--r-- 1 me me 6 okt 15 09:36 test.file
- A hozzászóláshoz be kell jelentkezni
Nyilván szerpel, mert magát a könyvtárat mozgatja a parancs:
(hibás) mv "/tmp/\$_OUTDIR" "/tmp/target/"
Helyesen: mv "/tmp/\$_OUTDIR/*" "/tmp/target/"
- A hozzászóláshoz be kell jelentkezni
Igen de ha magát a könyvtárt mozgatja és nem létezik ahova mozgatja akkor átnevezi. Ha megnézed előtte ott az "rm -rf /tmp/target" ami valószínűsíti, hogy nem fog. :)
- A hozzászóláshoz be kell jelentkezni
Tényleg, jogos. :)
- A hozzászóláshoz be kell jelentkezni
Utána viszont van egy mkdir /tmp/target
:)
- A hozzászóláshoz be kell jelentkezni
Az enyémbe nincs mert kivettem. :P
Egyébként ha nincs az $_OUTDIR-ba alkönyvtár akkor egyszerűen kibonthatja, 7zip-el és nem kell mozgatni se.
7zr e -r -y x.7z \$_OUTDIR/* -o/tmp/target
- A hozzászóláshoz be kell jelentkezni
Ah, ott valóban nincs :)
Egyébként mi a görcs ez az $_OUTDIR
könyvtár? Valami windowsos okosítás?
- A hozzászóláshoz be kell jelentkezni
Tippre az NSIS-el készült telepítők egyik mappája. (elvileg az van benne amit feltelepít :))
- A hozzászóláshoz be kell jelentkezni
Gyors keresésem a WinAmp-ot adta ki, akkor lehet, hogy tényleg az lesz.
- A hozzászóláshoz be kell jelentkezni
így van, köszi!
- A hozzászóláshoz be kell jelentkezni
Méghelyesebben:
mv -T '/tmp/$_OUTDIR' /tmp/target
(
dir/*
sok helyütt nem illeszkedik dotfájlokra)
~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni
Ezzel vigyázzunk, a -T
opció nem mindenhol érhető el!
- A hozzászóláshoz be kell jelentkezni
# mkdir "/tmp/target"
mv '/tmp/$_OUTDIR' "/tmp/target/"
Így tutti! Kösz!
- A hozzászóláshoz be kell jelentkezni