Вы не используете ls в сценарии (не анализируйте ls), так, чтобы функция только использовалась Вами в интерактивной оболочке. Ничто, чтобы не упустить. Кроме добавления двойных кавычек вокруг "$@"
, это - лучший способ сделать это.
Из взгляда на страницу человек , похоже, что установка
не будет делать то, что вы хотите.
Действительно, раздел Synopsiss указывает на использование формы:
install [OPTION]... -d DIRECTORY...
, а затем на странице человека говорит:
-D, --Directory
обрабатывать все аргументы как имена каталогов; Создайте все компоненты Указанные каталоги
Так мне кажется, что точка этой опции состоит в том, чтобы установить сложный (но пустой) структуру каталогов à la mkdir -p ...
.
Вы можете выполнить то, что вы хотите с циклом:
for file in /path/to/DotFiles/dir/*;do
install -m 755 "$file" ~/
done
или, если есть много уровней под / Путь / к / dotFiles / dir
, вы можете использовать Найти
:
find /path/to/DotFiles/dir/ -type f -exec 'install -m 755 "{}" ~/' +
Скопируйте папку src и файлы в ней в dst, но я думаю, что установка не поддерживает рекурсивное копирование папок.
install -D src/* -t dst