Поэтому мне пришлось удалить некоторые инструменты командной строки, которые я скомпилировал из исходного кода в macOS Sierra (10.12.2), и заметил, что эти команды с аналогичной структурой возвращаются в Терминале при запуске sudo make uninstall
:
Вывод sudo make uninstall
uninstall для HTop:
( cd '/usr/local/share/applications' && rm -f htop.desktop )
( cd '/usr/local/bin' && rm -f htop )
( cd '/usr/local/share/man/man1' && rm -f htop.1 )
( cd '/usr/local/share/pixmaps' && rm -f htop.png )
Вывод sudo make uninstall
для MTR:
( cd '/usr/local/share/man/man8' && rm -f mtr.8 )
( cd '/usr/local/sbin' && rm -f mtr )
Вывод команды sudo make uninstall
uninstall для SSHPASS:
( cd '/usr/local/bin' && rm -f sshpass )
( cd '/usr/local/share/man/man1' && rm -f sshpass.1 )
Это кажется странным, что каждая команда, по существу cd
ИНГ в каталог и затем запустить rm -f
вместе с этой командой cd
Почему бы просто не rm -f
файл напрямую с полным путем, как это; используя вывод SSHPASS здесь, например:
rm -f '/usr/local/bin/sshpass'
rm -f '/usr/local/share/man/man1/sshpass.1'
Я понимаю необходимость быть в безопасности при ручном вводе команды, подобной этой, но в случае предустановленного сценария, где сам процесс должен быть чистым и без риска, в чем преимущество сценария make, удаляющего элементы как составную команду ?