10198 |
@samp{mkdir -p @var{filename}}, you should use use |
@samp{mkdir -p @var{filename}}, you should use use |
10199 |
@code{AS_MKDIR_P(@var{filename})} (@pxref{Programming in M4sh}). |
@code{AS_MKDIR_P(@var{filename})} (@pxref{Programming in M4sh}). |
10200 |
|
|
|
|
|
10201 |
@item @command{mv} |
@item @command{mv} |
10202 |
@c --------------- |
@c --------------- |
10203 |
@prindex @command{mv} |
@prindex @command{mv} |
10209 |
a critical section where neither the old nor the new version of |
a critical section where neither the old nor the new version of |
10210 |
@file{existing} actually exists. |
@file{existing} actually exists. |
10211 |
|
|
10212 |
|
Be aware that moving files from @file{/tmp} can sometimes cause |
10213 |
|
undesirable (but perfectly valid) warnings, even if you created these |
10214 |
|
files. On some systems, creating the file in @file{/tmp} is setting a |
10215 |
|
guid @code{wheel} which you may not be part of. So the file is copied, |
10216 |
|
and then the @code{chgrp} fails: |
10217 |
|
|
10218 |
|
@example |
10219 |
|
$ @kbd{touch /tmp/foo} |
10220 |
|
$ @kbd{mv /tmp/foo .} |
10221 |
|
@error{}mv: ./foo: set owner/group (was: 3830/0): Operation not permitted |
10222 |
|
$ @kbd{echo $?} |
10223 |
|
0 |
10224 |
|
$ @kbd{ls foo} |
10225 |
|
foo |
10226 |
|
@end example |
10227 |
|
|
10228 |
|
@noindent |
10229 |
|
This behavior conforms to @acronym{POSIX}: |
10230 |
|
|
10231 |
|
@quotation |
10232 |
|
If the duplication of the file characteristics fails for any reason, mv |
10233 |
|
shall write a diagnostic message to standard error, but this failure |
10234 |
|
shall not cause mv to modify its exit status.'' |
10235 |
|
@end quotation |
10236 |
|
|
10237 |
Moving directories across mount points is not portable, use @command{cp} |
Moving directories across mount points is not portable, use @command{cp} |
10238 |
and @command{rm}. |
and @command{rm}. |
10239 |
|
|