[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Question] Reliable way to clean up a directory in EXIT trap
From: |
Masahiro Yamada |
Subject: |
Re: [Question] Reliable way to clean up a directory in EXIT trap |
Date: |
Tue, 19 Jul 2022 17:57:52 +0900 |
On Tue, Jul 19, 2022 at 4:23 PM Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com> wrote:
>
>
>
> On Tue, Jul 19, 2022, 03:19 Masahiro Yamada <masahiroy@kernel.org> wrote:
>>
>> On Tue, Jul 19, 2022 at 2:47 AM Greg Wooledge <greg@wooledge.org> wrote:
>> >
>> > On Tue, Jul 19, 2022 at 02:15:38AM +0900, Masahiro Yamada wrote:
>> > > #!/bin/bash
>> > > set -e
>> > >
>> > > # use .tmp_<PID> as a temporary workspace
>> > > TMPDIR=.tmp_$$
>> > >
>> > > trap "rm -rf $TMPDIR" EXIT
>> > >
>> > > mkdir -p $TMPDIR
>> > > touch $TMPDIR/tmp
>> >
>> > The first problem I see with this is that you've used a *relative*
>> > pathname for your TMPDIR variable. The trap is going to issue a command
>> > of the form "rm -rf .tmp_12345" when your script exits.
>> >
>> > What happens if, later on, you modify this script to change directory
>> > somewhere? If the trap runs after the script has changed directory,
>> > you might be removing that relative pathname from the wrong place.
>> >
>> > The second problem is lack of proper quoting -- not going to bite you
>> > right now, because you've restricted your TMPDIR variable to a known
>> > value that doesn't contain whitespace or globbing characters, but proper
>> > quoting is a good habit to develop. In the future, you'll be using
>> > variables whose contents are *not* safe when used without proper quoting.
>> >
>>
>>
>> Thanks for the advice, but what you pointed out
>> does not affect the issue I am facing.
>
>
> .. maybe, first set tmpvar, then first create it, then just set the trap..
> creation prior to cleanup
I also tried that.
The .tmp directory is left-over
If we create the directory before the trap,
what if we are interrupted between them?
mkdir -p $TMPDIR
# <--If we are interrupted here, there is no-one that cleans up the tmp dir?
trap "rm -rf $TMPDIR" EXIT
--
Best Regards
Masahiro Yamada
- [Question] Reliable way to clean up a directory in EXIT trap, Masahiro Yamada, 2022/07/18
- Re: [Question] Reliable way to clean up a directory in EXIT trap, Masahiro Yamada, 2022/07/19
- Re: [Question] Reliable way to clean up a directory in EXIT trap, Koichi Murase, 2022/07/19
- Re: [Question] Reliable way to clean up a directory in EXIT trap, Masahiro Yamada, 2022/07/19
- Re: [Question] Reliable way to clean up a directory in EXIT trap, Koichi Murase, 2022/07/19
- Re: [Question] Reliable way to clean up a directory in EXIT trap, Masahiro Yamada, 2022/07/20
- Re: [Question] Reliable way to clean up a directory in EXIT trap, Koichi Murase, 2022/07/20
- Re: [Question] Reliable way to clean up a directory in EXIT trap, Masahiro Yamada, 2022/07/28