Передача архива tar через mv в macOS

Lo que quiere es cerrar el descriptor de archivo que en Bourne -como shell se hace con>&-(por defecto a fd 1 )o<&-(por defecto a fd 0 )operador:

exec >&-
exec 1>&-
exec 1<&-

son ​​todos equivalentes y dan como resultado que se realice una llamada al sistema close(1).

Tenga en cuenta que generalmente es una mala idea cerrar los descriptores de archivo 0, 1 y 2, ya que la mayoría de los comandos esperan que estén abiertos (es su stdin, stdout y stderr ), y abrir un archivo podría causar que archivo para convertirse inadvertidamente en su stdin/stdout/stderr y lo que imprimen en stdout o stderr podría terminar siendo escrito en esos archivos.

0
08.07.2019, 01:14
1 ответ

Вы смотрели результат? Он сказал что-то вроде

mv: target ‘some filename’ is not a directory
?

В общем, еслиcmdвыводит a,  b и  c, и вы запускаете

cmd | xargs d e f
затем xargsзапустится
d e f a b c
Итак, ваша команда заставила xargsзапустить
mv ~/Documents file1 file2 file3
mvработает не так.

Попробуйте

(your tar command)  |  xargs mv -t ~/Documents

Обратите внимание, что :вам, вероятно, следует сначала убедиться, что версия mvв вашей системе поддерживает опцию -t. Если бы вы работали в Linux, это было бы практически гарантировано, но я не уверен насчет macOS.

1
28.01.2020, 03:28

Теги

Похожие вопросы