unescape pipe в параметрах

Вы можете использовать find и cpio в режиме сквозной передачи:

 find  image/ -mtime -365 | cpio -pd /target_dir

EDIT: удалено ненужное * из пути поиска.

3
07.03.2017, 21:24
1 ответ

Вы передаете в сценарий фрагмент кода оболочки. Для сценария это просто текст. Чтобы его можно было интерпретировать как полноценную команду оболочки, вам нужно eval it:

eval "$1" >file1.tmp
eval "$2" >file2.tmp

Это работает, когда $ 1 и $ 2 - простые вещи например, echo hello , потому что это простые команды (не списки или составные команды).

Можно провести аналогию с другим языком программирования, если бы вы передали часть кода C в программу C в виде текстовой строки. Код должен быть каким-то образом скомпилирован (и связан), прежде чем его можно будет выполнить как часть программы.

2
27.01.2020, 21:25

Теги

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