while read -a line; do echo -e "${line[1]}"; done < file
34
45
56
29
где file
содержит Ваш список.
Нет эквивалента /etc/fstab
для каждого пользователя. Вы можете написать скрипт оболочки, который прочитает выбранный вами файл и вызовет соответствующую команду монтирования. Обратите внимание, что из аргумента foo.bar
, вы должны вывести несколько фрагментов информации: расположение сервера foo.bar
, каталог на сервере (здесь ваш домашний каталог), и, прежде всего, тот факт, что это монтирование SSHFS.
#!/bin/bash
####
if [ -e ~/.fstab ]; then
args=("$@")
((i=${#args[@]}-1))
target=${args[$i]}
while read filesystem mount_point command options comments; do
if [[ $filesystem = \#* ]]; then continue; fi
if [[ $mount_point = "$target" || $filesystem = "$target" ]]; then
if [[ -n $options ]]; then
args[$((i++))]=-o
args[$((i++))]=$options
fi
args[$((i++))]=$filesystem
args[$((i++))]=$mount_point
exec "$3" "${args[@]}"
fi
done
fi
## Fall back to mount, which looks in /etc/fstab
mount "$@"
(Предупреждение: непроверенный код.)
Этот фрагмент разбирает файл ~/.fstab
с синтаксисом, напоминающим /etc/fstab
: "device", точка монтирования, тип файловой системы, опции. Обратите внимание, что здесь тип файловой системы - это команда для выполнения, а "устройство" зависит от файловой системы. Не все команды файловой системы FUSE используют этот синтаксис с "устройством", за которым следует точка монтирования, хотя это общее соглашение.
Опции SSH, такие как идентификационный файл, имя удаленного пользователя и т.д., могут находиться в ~/.ssh/config
. Единственная причина, по которой их можно поместить в /etc/fstab
- это позволить использовать эти опции всем пользователям.