Я думаю, что Вы хотите сделать:
#!/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`
Я видел описанное вами ранее поведение, но протестировав его сейчас, я могу без проблем создавать символические ссылки в каталоге, смонтированном 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.
Чтобы преобразовать удаленные абсолютные (начиная с /
) символические ссылки относительно точки монтирования sshfs
, используйте follow_symlinks Параметр
:
sshfs -o follow_symlinks ...
Параметр transform_symlinks
ничего не делает для меня, см. этот выпуск .