Странные результаты с использованием tramp: session в org-mode - PullRequest
0 голосов
/ 14 января 2020

транслятор; Если вы используете Emacs Org-Mode Tramp на Windows с Plink с S SH sesion. Это создает странные результаты

Длинный текст: я использую Emacs Org-Mode. Какой отличный инструмент. И мне нравилось использовать грамотный способ DevOps. Это тоже отличная идея, документируй свою работу, пока ты на ней.

Ты меня возненавидишь, мне нужно использовать Windows station @work. Поэтому я проверил его с помощью Putty plink:

#+NAME: harddisk_worker001.sh
#+BEGIN_SRC sh :dir /plink:worker001:/tmp 
df --human-readable --local --exclude-type=tmpfs --exclude-type=overlay | awk '{print $5 "\t" $1}' | (read -r; printf "%s\n" "$REPLY"; sort --reverse)
#+END_SRC

#+RESULTS: harddisk_worker001.sh
| Use% | Filesystem                |
|  73% | /dev/mapper/system-lvroot |
|   6% | /dev/mapper/system-lvopt  |
|   6% | /dev/mapper/system-lvhome |
|  47% | /dev/sda1                 |
|   2% | /dev/mapper/system-lvtmp  |
|  27% | /dev/mapper/system-lvvar  |
|   0% | devtmpfs                  |

Результат был великолепен, но мне также понравилась функция : session , чтобы ускорить его:

#+NAME: harddisk_worker001.sh
#+BEGIN_SRC sh :dir /plink:worker001:/tmp :session worker001
df --human-readable --local --exclude-type=tmpfs --exclude-type=overlay | awk '{print $5 "\t" $1}' | (read -r; printf "%s\n" "$REPLY"; sort --reverse)
#+END_SRC

#+RESULTS: harddisk_worker001.sh
| Filesystem                |
| /dev/mapper/system-lvroot |
| /dev/mapper/system-lvopt  |
| /dev/mapper/system-lvhome |
| /dev/sda1                 |
| /dev/mapper/system-lvtmp  |
| /dev/mapper/system-lvvar  |
| devtmpfs                  |

Что не было ожидаемым результатом! Можете ли вы объяснить, почему таблица отличается? Я не могу увидеть причину этого. За исключением ошибки в реализации tramp-plink, но я не уверен в этом.

Можете ли вы воспроизвести это?

1 Ответ

0 голосов
/ 20 января 2020

Я не слишком много знаю об орг, поэтому я отлаживал полученные в результате вызовы Tramp. Ваша первая команда приводит к org-babel--shell-command-on-region, который вызывает правильный process-file вызов.

Ваш второй пример с аргументом :session, похоже, не вызывает никакой операции Tramp, связанной с процессами. Поэтому я считаю, что org пытается что-то внутренне, что я не могу отлаживать дальше. Может быть, вызов процесса, который не знает Tramp, кто знает.

Я рекомендую написать отчет об ошибке org.

...