sshfs повреждает символьные ссылки с сервера SFTP

Я думаю, что Вы хотите сделать:

#!/bin/bash
rep="*"

for f in `ls -R`$rep; do
d='git log "$f"| wc -l'
c=$d
echo $c
done

Заметьте двойные кавычки вместо единственных вокруг команды мерзавца.

Меньшее решение могло состоять в том, чтобы использовать:

echo `git log "$f"| wc -l`
16
11.07.2013, 11:17
2 ответа

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

$ touch T
$ ln -s T L
$ ls -l T L
lrwxrwxrwx 1 user user 1 Apr  9 16:10 L -> T
-rw-rw-r-- 1 user user 0 Apr  9 16:10 T

$ echo hello >> L
$ cat T
hello
$ pwd
/home/user/oak/tmp
$ mount | grep oak
user@oak: on /home/user/oak type fuse.sshfs (rw,nosuid,nodev,user=user)

Я обновил sshd на пульте около 4 месяцев назад. Старой версии было бы несколько лет назад. Возможно, обновление устранило проблему. Это может дать некоторое представление о том, что я использую сейчас:

$ ssh oak 'ident $(which sshd)' | grep ssh
/usr/sbin/sshd:
 $NetBSD: sshd.c,v 1.13.4.1 2015/04/30 06:07:31 riz Exp $
 $NetBSD: sshpty.c,v 1.2.26.1 2015/04/30 06:07:31 riz Exp $
 $NetBSD: sshlogin.c,v 1.4.22.1 2015/04/30 06:07:31 riz Exp $

Я ничего не делал для изменения sshfs, кроме того, что Ubuntu делает автоматически.
HTH.

1
27.01.2020, 19:49

Чтобы преобразовать удаленные абсолютные (начиная с / ) символические ссылки относительно точки монтирования sshfs , используйте follow_symlinks Параметр :

sshfs -o follow_symlinks ...

Параметр transform_symlinks ничего не делает для меня, см. этот выпуск .

13
27.01.2020, 19:49

Теги

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