Почему не был бы символьная ссылка на работу символьной ссылки?

Я верю тому, что Вы ищете, bind управляйте собой. Согласно man builtin информационное выполнение bind <readline-command> позволяет Вам работать один-offs, однако, я не мог добраться, это для работы как руководство говорит, что это должно..., это продолжало заставлять ключи не работать на меня; Ваш пробег может варьироваться. Я действительно находил следующие команды, которые могут быть полезны для Вас.

bind -p # Equivalent to dump-functions [machine readable]
bind -P # Equivalent to dump-functions [human readable]

bind -s # Equivalent to dump-macros    [machine readable]
bind -S # Equivalent to dump-macros    [human readable]

bind -v # Equivalent to dump-variables [machine readable]
bind -V # Equivalent to dump-variables [human readable]

В Примечании редактирования, на которое я хотел бы указать, насколько раздражающий случается так, что это не работает как руководство, говорится, что это должно потому что, если Вы вводите bind и затем потребуйте у вкладки автоматического заполнения, она показывает все команды.

6
29.10.2013, 02:55
2 ответа

Я не делаю это имеет какое-либо отношение к версиям, ни проблеме со ссылками, это, вероятно, что скрипт, который это запускает просто, не обрабатывает быть названным от нескольких уровней абстракции при вызове через символьные ссылки.

Пример

Скажите, что у меня есть установка как это ссылок на ссылки на файл.

$ tree
.
|-- 1
|   |-- 2
|   |   |-- 3
|   |   |   |-- 4
|   |   |   |   `-- afile
|   |   |   `-- afile -> 4/afile
|   |   `-- afile -> 3/afile
|   `-- afile -> 2/afile
`-- afile -> 1/afile

Так, чтобы был единственный файл, 1/2/3/4/afile и весь afileвыше цепочка ссылок друг на друга, который в конечном счете приводит к синглу afile файл.

$ find . -ls
10890091    4 drwxrwxr-x   3 saml     saml         4096 Oct 28 22:03 .
10890244    0 lrwxrwxrwx   1 saml     saml            7 Oct 28 22:03 ./afile -> 1/afile
10890107    4 drwxrwxr-x   3 saml     saml         4096 Oct 28 22:02 ./1
10890247    0 lrwxrwxrwx   1 saml     saml            7 Oct 28 22:02 ./1/afile -> 2/afile
10890121    4 drwxrwxr-x   3 saml     saml         4096 Oct 28 22:02 ./1/2
10890246    0 lrwxrwxrwx   1 saml     saml            7 Oct 28 22:02 ./1/2/afile -> 3/afile
10890136    4 drwxrwxr-x   3 saml     saml         4096 Oct 28 22:02 ./1/2/3
10890245    0 lrwxrwxrwx   1 saml     saml            7 Oct 28 22:02 ./1/2/3/afile -> 4/afile
10890137    4 drwxrwxr-x   2 saml     saml         4096 Oct 28 22:06 ./1/2/3/4
10890243    4 -rw-rw-r--   1 saml     saml            5 Oct 28 22:06 ./1/2/3/4/afile

Я могу всегда получать доступ к файлу из любой из ссылок выше его, например:

$ pwd
/home/saml/tst/97990/1
$ cat afile 
blah

Я могу использовать readlink узнать канонический путь ссылки, указывающие:

$ readlink -f afile 
/home/saml/tst/97990/1/2/3/4/afile
0
27.01.2020, 20:30
  • 1
    я подозревал бы это также, если он не мог бы обработать единственный слой косвенности (то есть, если бы символьная ссылка на исполняемый файл не работала). Я неясен на том, что исполняемый файл мог использовать для разрешения единственного слоя косвенности, которая сделала не могущим обработать несколько, все же. –  rampion 29.10.2013, 05:50
  • 2
    @rampion - вероятно, некоторая логика собственной разработки это испорчено. –  slm♦ 29.10.2013, 05:56
  • 3
    Другая точка против этой теории - то, что несколько слоев косвенности не являются никакой проблемой на 10.8.5 согласно number1. Таким образом, если логика собственной разработки испорчена, она испорчена нестабильным способом (соответствующий к операционной системе). –  rampion 29.10.2013, 06:09
  • 4
    @rampion - таким образом, какова Ваша теория? Некоторые версии работают над некоторыми версиями OSX, в то время как другие не делают? И это это имеет некоторое отношение к symlinking? BTW, какой файл swipl? Если это - сценарий оболочки, выполненный это как это, bash -x swipl и посмотрите то, что это делает. –  slm♦ 29.10.2013, 06:22
  • 5
    slm: это - двоичный файл. Моя текущая теория является любой 1) swi-прологом, использовал неподдерживаемый API в 10,8 для разрешения, которое было изменено в 10,9 (так, Ваша теория), или 2) Apple повредила API при перемещении от 10,8 до 10,9. –  rampion 29.10.2013, 06:41

попробуйте сделать некоторый пример, ваша система поддерживает цепочечные сим-ссылки, например cd

ln -s /bin/ls myls1
ln -s myls1 myls2
ln -s myls2 myls3

начать эксперимент:

./myls1 should work
./myls2 works or not?
./myls3 works or not?

Когда myls3 работает, ваша система поддерживает цепочечные симлинки. Я не верю, что это не так :) Тогда я думаю, что проблема не в симлинках, а в SWI-Prolog. Я думаю, что он пытается решить проблему с симлинками, потому что он хочет знать свое фичическое местоположение. Обычно это необходимо для поиска библиотек по умолчанию и других товаров. На мой взгляд, это может быть ошибка в SWI-Prolog . Может быть, она исправлена в более высокой версии. Может быть, вам стоит сообщить об этой ошибке. Может быть, любое исправление доступно.

1
27.01.2020, 20:30

Теги

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