Необходимо только обменяться данными разделы. Не совместно используйте разделы программы.
/home
прекрасен, но избегайте мусорного ведра, dev, и т.д., usr, var, выберите, и в значительной степени что-либо кроме дома.
Что касается файловой системы, это должно будет быть что-то, для чего оба ядра имеют драйверы. Я не уверен, как поддержка расширения хорошего BSD, но поддержка UFS Linux достаточно хороша, что означает, что Вы, вероятно, хотите придерживаться UFS или MS-DOS. Раздел подкачки может быть совместно использован, пока оба распознают тот же тип раздела для подкачки (который я полагаю, что они делают, но я не уверен).
И если Вы совместно используете разделы между операционными системами, не делают ничего как попытка работать один в VM от другого. Операционные системы должны иметь эксклюзивный контроль над файловыми системами. Две различных рабочих операционных системы, что вещь они оба имеют эксклюзивный контроль над разделом, приведут к повреждению очень быстро.
У Вас есть несколько опций здесь. Мое предпочтение было бы к расширению параметра:
foo=dir/foo
echo "${foo%/*}./"
Другая опция является awk:
echo "dir/foo" | awk -F/ '{ print $1"./" }'
Другое использование read
IFS=/ read a b <<<"dir/foo"
echo "$a./"
Не будет работать, если "dir/нечто" будет на самом деле "/home/user/foo"
Можно использовать также dirname
с read
read foo
echo "$(dirname "$foo")./"
и dirname
с xargs
.
echo "$(xargs dirname)./"
Использование в качестве примера с функцией:
$ MAGIC() { echo "$(xargs dirname)./"; }
$ echo 'dir/foo' | MAGIC
dir./
Я не уверен, что Вы пытаетесь сделать здесь. Вы действительно хотите литерал .
? Это чувствует себя подобно проблеме XY.
Так или иначе простой способ сделать, что Вы, кажется, спрашиваете, состоит в том, чтобы использовать dirname
:
$ echo $(dirname "dir/foo")./
dir./
Основные преимущества dirname
это, это может иметь дело с пробелами и является частью GNU coreutils, так будет установлен во всех системах GNU. Также это может иметь дело с произвольно длинными трактами:
$ echo $(dirname "aa/bb bb/cc/foo")./
aa/bb bb/cc./
Можно использовать прием @EvanTeitelman для превращения этого в функцию:
$ MAGIC() { echo $(dirname "$1")./; }
$ MAGIC 'dir/foo'
dir./
$ MAGIC 'dir/foo bar/foo'
dir/foo bar./