Они находятся в $http_proxy
, $https_proxy
и $ftp_proxy
переменные среды. Кроме того, $no_proxy
содержит разделенный запятыми список шаблонов хоста, для которых не используется никакой прокси. Например:
http_proxy=http://proxy.example.com:3128/
no_proxy=localhost,127.0.0.1,*.example.com
Удостоверьтесь, что прочитали альтернативный ответ. Это является даже главным хотя не проголосовавший как высоко в этой точке.
Можно использовать это для удаления всех символьных ссылок:
find -type l -delete
с современным find
версии.
На более старых версиях находки этому, вероятно, придется быть:
find -type l -exec rm {} \;
# or
find -type l -exec unlink {} \;
Для ограничения определенной целью ссылки, не принимая ни один из путей содержат любой символ новой строки:
find -type l | while IFS= read -r lnkname; do if [ "$(readlink '$lnkname')" == "/your/exact/path" ]; then rm -- "$lnkname"; fi; done
или приятно отформатированный
find -type l |
while IFS= read -r lnkname;
do
if [ "$(readlink '$lnkname')" = "/your/exact/path" ];
then
rm -- "$lnkname"
fi
done
if
мог, конечно, также включать более сложное условие, такое как соответствие шаблону с grep
.
Адаптированный в соответствии с Вашим случаем:
find -type l | while IFS= read -r lnk; do if (readlink "$lnk" | grep -q '^/usr/local/texlive/'); then rm "$lnk"; fi; done
или приятно отформатированный:
find -type l | while IFS= read -r lnk
do
if readlink "$lnk" | grep -q '^/usr/local/texlive/'
then
rm "$lnk"
fi
done
С современным find
это поддерживает -lname
:
find /usr/local/bin -lname '/usr/local/texlive/*' -delete
должен сделать это.
find
имел -lname
для дольше, чем я поддержал его (приблизительно с 2003).
– James Youngman
26.05.2012, 01:43
find
я действительно имел в виду GNU find
.;) Я использовал usr/local/bin
, потому что это - то, что использовал OP.
– Christoffer Hammarström
26.05.2012, 01:52
find
решение является отличным.
На всякий случай Ваша находка не поддерживает -lname
, вот иначе, который использует только оболочку и readlink
.
cd /usr/local/bin
for f in *; do
case "$(readlink "$f")" in /usr/local/texlive/*)
rm "$f"
;;
esac
done
Перейдите к своему пути и установите для себя конфигурацию пути
ls -alh|grep "your-pattern-to-file-or-folder-for-symlink"| awk '{print $9}'|xargs rm -rf
Сzsh
:
rm -f /usr/local/bin(@e'{[[ $REPLY:P = /usr/local/texlive/* ]]}')
$REPLY:P
полностью разрешает путь к свободной символической ссылке -, поэтому, предполагая, что /usr/local/texlive
сам по себе свободен от символической ссылки, он удалит все файлы, которые после разрешения символической ссылки находятся под /usr/local/textlive
, что будет включать ссылки на /usr/local/texlive/foo
, но также на ../texlive/bar
, или на /usr/./local/texlive/whatever
, или на /some/other/symlink
, который сам по себе является символической ссылкой, указывающей на /usr/local/texlive
и т. д.
-print
в концеfind
команда для получения некоторой визуальной обратной связи. – runlevel0 14.12.2016, 17:36