Чи є спосіб , щоб сказати , cp
щоб --link
(тобто створювати жорсткі посилання), але падати назад в тому випадку , коли я намагаюся жорсткі посилання між пристроями? Посилання між пристроями неможливі і можуть спричинити cp
збій.
Причина, про яку я запитую, полягає в тому, що я хотів би використовувати це в a, GNUmakefile
і я вважаю за краще читати командний рядок над деяким звивистим і тривалим (або з цього приводу функцією).
Питання стосується GNU coreutils (7.4 та 8.13).
Зауважте: зараз вирішення буде чимось на зразок (GNU make recept syntax):
cp -fl $^ $@ || cp -f $^ $@
Це, звичайно, дасть помилкові повідомлення про помилки у випадку посилань між пристроями, хоча успішно працює на другому cp
дзвінку. Крім того, тоді ця розширюється (форма джерела все-таки виглядає читабельною) вона вже не буде занадто читаною.
$$
в моєму випадку дубль, звичайно, тому що це всередині макросу. І ваша лінія звичайно є варіацією того, що я використовую. Але принаймні я знаю таким чином, що він не існує як варіант, і мені потрібно надати своє.