minimal/do: given a directory name, build dirname/all
Like redo does.
This commit is contained in:
parent
c1f09f564b
commit
ac36dcf136
1 changed files with 6 additions and 3 deletions
|
|
@ -20,15 +20,15 @@ fi
|
||||||
_do()
|
_do()
|
||||||
{
|
{
|
||||||
TARGET="$1"
|
TARGET="$1"
|
||||||
DOFILE="$1.do"
|
DOFILE="$TARGET.do"
|
||||||
if [ ! -e "$TARGET" ]; then
|
if [ ! -e "$TARGET" ]; then
|
||||||
printf '\033[32mdo \033[1m%s\033[m\n' "$PWD/$TARGET" >&2
|
printf '\033[32mdo \033[1m%s\033[m\n' "$PWD/$TARGET" >&2
|
||||||
echo "$PWD/$TARGET" >>"$DO_BUILT"
|
echo "$PWD/$TARGET" >>"$DO_BUILT"
|
||||||
set "$TARGET" FIXME "$TARGET.tmp"
|
set "$TARGET" "" "$TARGET.tmp"
|
||||||
( . "$PWD/$DOFILE" >"$TARGET.tmp" ) &&
|
( . "$PWD/$DOFILE" >"$TARGET.tmp" ) &&
|
||||||
mv "$TARGET.tmp" "$TARGET"
|
mv "$TARGET.tmp" "$TARGET"
|
||||||
else
|
else
|
||||||
echo "$1 exists." >&2
|
echo "$TARGET exists." >&2
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -36,6 +36,9 @@ _do()
|
||||||
redo()
|
redo()
|
||||||
{
|
{
|
||||||
for i in "$@"; do
|
for i in "$@"; do
|
||||||
|
if [ -e "$i/." ]; then
|
||||||
|
i="$i/all"
|
||||||
|
fi
|
||||||
D="$(dirname "$i")"
|
D="$(dirname "$i")"
|
||||||
B="$(basename "$i")"
|
B="$(basename "$i")"
|
||||||
( cd "$D" && _do "$B" )
|
( cd "$D" && _do "$B" )
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue