Просто хочу сказать, что описанное выше сработало для меня, а также автоматически монтировало устройство после того, как я поместил запись в /etc/fstab (, а также вызывает umount после извлечения флешки)
т.е.
/etc/fstab
# See /etc/udev/rules.d/5-usb-disk.rules
/dev/backup /vol/backup ext4 defaults,errors=remount-ro 0 1
cat /etc/udev/rules.d/5 -usb -stick.rules
#
# the next line creates a symlink to this disk drive called /dev/backup
# i.e.
# root:# ls -la /dev/backup
# lrwxrwxrwx 1 root root 3 Jul 22 19:33 /dev/backup -> sg0
# Backup usb stick - create /dev/backup
# ATTRS{model}=="Cruzer Blade "
ACTION=="add", ATTRS{model}=="Cruzer Blade ", SYMLINK+="backup"
# Clean up after removal
ACTION=="remove", ATTRS{model}=="Cruzer Blade ", RUN+="/bin/umount /vol/backup"
Таким образом, после вставки USB-накопителя я получаю:
root:# mount | grep sd
/dev/sda1 on /vol/backup type ext4 (rw,relatime,errors=remount-ro,data=ordered)
Очевидно, что sdiff
пытался выполнить программу с точным именем emacs -nw
, которой не существовало. Вы намеревались sdiff
вызвать emacs
с опцией -nw
, за которой следует файл (s ).
Поведение подтверждается просмотром исходного кода sdiff , где sdiff
заполняет предпочтительный редактор --непосредственно --в argv[0], что помещает <space><dash>nw
вместе с emacs
. Вы также можете убедиться, что sdiff
в целом работает правильно, установив EDITOR=emacs
и увидев, что он открывает emacs.
Если вам нужна опция при открытии emacs, я предлагаю создать скрипт-оболочку:
$ cat emacs.sh
#!/bin/sh
vi "$@"
Шучу, конечно. Вы бы использовали:
$ cat emacs.sh
#!/bin/sh
emacs -nw "$@"
... и затем установитеEDITOR=/path/to/that/emacs.sh