.sh - Controleren of map bestaat, zo ja verwijderen

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • tom.cx
  • Registratie: December 2014
  • Laatst online: 25-07 15:06
Ik controleer met onderstaande code of een map bestaat. Als deze bestaat moet hij verwijderd worden. Simpel, if exist then remove else not found. Echter ... hij geeft aan dat de map niet bestaat. Terwijl hij toch echt bestaat. Het maakt niet uit of ik het met of zonder sudo draai. Zie script hier onder.

Ik weet dat er een x voor rm -R staat. Hij hoeft hem tijdens het testen nog niet te verwijderen. Het script moet uit eindelijk op MacOS draaien.

code:
1
2
3
4
if [ -d "~/Library/Containers/com.microsoft.onenote.mac/" ];
    then echo "Removing 'com.microsoft.onenote.mac'" && xrm -R '~/Library/Containers/com.microsoft.onenote.mac/'
  else echo "com.microsoft.onenote.mac not found."
fi


Screenshot:

Script error

Beste antwoord (via tom.cx op 14-03-2018 15:57)


  • xleeuwx
  • Registratie: Oktober 2009
  • Laatst online: 07-10 23:14

xleeuwx

developer Tweakers Elect
Shell kan niet overweg met de ~ in de check

code:
1
2
3
4
5
6
7
#!/bin/bash
BASEDIR=$(dirname "$0")
if [ -d "${BASEDIR}/Downloads" ]; then
    echo "com.microsoft.onenote.mac found"
else
    echo "com.microsoft.onenote.mac not found."
fi

Alle reacties


Acties:
  • 0 Henk 'm!

Verwijderd

"~/Library/Containers/com.microsoft.onenote.mac"

dus die / verwijderen achter .mac al geprobeerd?

Acties:
  • Beste antwoord
  • +2 Henk 'm!

  • xleeuwx
  • Registratie: Oktober 2009
  • Laatst online: 07-10 23:14

xleeuwx

developer Tweakers Elect
Shell kan niet overweg met de ~ in de check

code:
1
2
3
4
5
6
7
#!/bin/bash
BASEDIR=$(dirname "$0")
if [ -d "${BASEDIR}/Downloads" ]; then
    echo "com.microsoft.onenote.mac found"
else
    echo "com.microsoft.onenote.mac not found."
fi

Acties:
  • 0 Henk 'm!

  • tom.cx
  • Registratie: December 2014
  • Laatst online: 25-07 15:06
xleeuwx schreef op woensdag 14 maart 2018 @ 15:09:
Shell kan niet overweg met de ~ in de check

code:
1
2
3
4
5
6
7
#!/bin/bash
BASEDIR=$(dirname "$0")
if [ -d "${BASEDIR}/Downloads" ]; then
    echo "com.microsoft.onenote.mac found"
else
    echo "com.microsoft.onenote.mac not found."
fi
Oke, dit wist ik niet. Dan ga ik eens kijken of ik op een andere manier de ~/lib kan verbinden. Ik weet dat je deze met PWD kan zien. Maar weet niet hoe ik deze in een variable moet vastzetten.

Acties:
  • +1 Henk 'm!

  • xleeuwx
  • Registratie: Oktober 2009
  • Laatst online: 07-10 23:14

xleeuwx

developer Tweakers Elect
tom.cx schreef op woensdag 14 maart 2018 @ 15:34:
[...]


Oke, dit wist ik niet. Dan ga ik eens kijken of ik op een andere manier de ~/lib kan verbinden. Ik weet dat je deze met PWD kan zien. Maar weet niet hoe ik deze in een variable moet vastzetten.
Dat is eigelijk wat ik doe, ik schrijf de directory weg in een variabel
code:
1
2
BASEDIR=$(dirname "$0")
"${BASEDIR}/Library/Containers/com.microsoft.onenote.mac/"


Komt dus op het zelfde neer als
code:
1
"~/Library/Containers/com.microsoft.onenote.mac/"


En als resultaat krijg je dan:
code:
1
2
3
4
5
6
7
8
#!/bin/bash
BASEDIR=$(dirname "$0")
if [ -d "${BASEDIR}/Library/Containers/com.microsoft.onenote.mac/" ]; then
    echo "Removing 'com.microsoft.onenote.mac'"
    xrm -R '~/Library/Containers/com.microsoft.onenote.mac/'
else
    echo "com.microsoft.onenote.mac not found."
fi

Acties:
  • +1 Henk 'm!

  • tom.cx
  • Registratie: December 2014
  • Laatst online: 25-07 15:06
xleeuwx schreef op woensdag 14 maart 2018 @ 15:53:
[...]

Dat is eigelijk wat ik doe
code:
1
2
BASEDIR=$(dirname "$0")
"${BASEDIR}/Library/Containers/com.microsoft.onenote.mac/"


Komt dus op het zelfde neer als
code:
1
"~/Library/Containers/com.microsoft.onenote.mac/"


En als resultaat krijg je dan:
code:
1
2
3
4
5
6
7
8
#!/bin/bash
BASEDIR=$(dirname "$0")
if [ -d "${BASEDIR}/Library/Containers/com.microsoft.onenote.mac/" ]; then
    echo "Removing 'com.microsoft.onenote.mac'"
    xrm -R '~/Library/Containers/com.microsoft.onenote.mac/'
else
    echo "com.microsoft.onenote.mac not found."
fi
Super bedankt voor je uitleg xleeuwx! Ik kom hier behoorlijk stuk verder mee en weer wat geleerd!

Acties:
  • +1 Henk 'm!

  • xleeuwx
  • Registratie: Oktober 2009
  • Laatst online: 07-10 23:14

xleeuwx

developer Tweakers Elect
tom.cx schreef op woensdag 14 maart 2018 @ 15:54:
[...]


Super bedankt voor je uitleg xleeuwx! Ik kom hier behoorlijk stuk verder mee en weer wat geleerd!
Let wel op met verwijderen van directories en het gebruik van variablen:
https://serverfault.com/q...-prevent-accidental-rm-rf

Acties:
  • 0 Henk 'm!

  • tom.cx
  • Registratie: December 2014
  • Laatst online: 25-07 15:06
xleeuwx schreef op woensdag 14 maart 2018 @ 15:56:
[...]

Let wel op met verwijderen van directories en het gebruik van variablen:
https://serverfault.com/q...-prevent-accidental-rm-rf
Ik kijk er mee uit. Ik heb ervaring met het verkeerd gebruiken van het rm commando. Daarom had ik er in dit geval een x voor gezet. Bedankt voor de reminder @xleeuwx !

Acties:
  • +1 Henk 'm!

  • xleeuwx
  • Registratie: Oktober 2009
  • Laatst online: 07-10 23:14

xleeuwx

developer Tweakers Elect
tom.cx schreef op woensdag 14 maart 2018 @ 15:58:
[...]

Ik kijk er mee uit. Ik heb ervaring met het verkeerd gebruiken van het rm commando. Daarom had ik er in dit geval een x voor gezet. Bedankt voor de reminder @xleeuwx !
Dat idee had ik al, maar voordat er een volgende dit draadje tegen komt en denkt he dat is handig 8)7

Acties:
  • 0 Henk 'm!

  • Raynman
  • Registratie: Augustus 2004
  • Nu online
Tilde Expansion
If a word begins with an unquoted tilde character (`~'), ...
En anders is er ook nog $HOME.

[ Voor 10% gewijzigd door Raynman op 14-03-2018 22:19 ]


Acties:
  • 0 Henk 'm!

  • tom.cx
  • Registratie: December 2014
  • Laatst online: 25-07 15:06
Raynman schreef op woensdag 14 maart 2018 @ 22:15:
[...]

En anders is er ook nog $HOME.
Die had ik dus ook geprobeerd... Maar niet in hoofdletters |:( |:( Dank voor je toevoeging @Raynman !!
Pagina: 1