Похоже, что Вы забыли работать make install
.
Если Вы действительно работали make install
, но ни один из Ваших файлов энергии не найден под /usr/local/share/vim
, затем, возможно, у Вас есть проблема полномочий - то есть, Нельзя установить файлы там.
Если последний верен, то просто создают его с набором местоположения установки к месту, которым Вы действительно управляете:
$ cd vim/src
$ ./configure --enable-rubyinterp --enable-multibyte --prefix=/home/aeg/myvim
$ make
$ make install
$ export PATH=/home/aeg/myvim/bin:$PATH
$ vim
$@
расширяется для разделения слов (тогда как $*
расширяется до отдельного слова), как объяснено в bash
руководство. Таким образом, когда Вы пишете
zenity --text="$@"
это расширяется до
zenity --text="$1" "$2" "$3"
Однако окружите переменные присвоения, не подвергаются разделению слова. Обратите внимание, что поле / разделение слова опущено в списке расширений для переменных присвоений в bash
руководство. Это поведение согласовывается со спецификацией POSIX. Так, когда Вы пишете
text="$@"
переменная text
получает все позиционные параметры как отдельное слово, эквивалентное тому, если Вы записали text="$*"
. Действительно, это - причина, двойные кавычки являются часто ненужными в переменных присвоениях. Оба
text=$@
и
text=$*
совершенно безопасны.
Так,
text=$@
zenity --option="$text"
расширяется "$text"
к отдельному слову, которое является, почему это работает. Обратите внимание что --option="$@"
просто нормальный аргумент команде zenity
, и не присвоение переменной оболочки, которое является, почему разделение слова происходит здесь, но не в text=$@
.
$@
будьте расширены каждый параметр в отдельном слове, став
zenity --entry --text="arg1" "arg2" "arg3" # syntactically wrong for zenity
Использовать $*
вместо этого развернуть его в отдельном слове
zenity --entry --text="$*"
который станет
zenity --entry --text="arg1 arg2 arg3" # syntactically correct for zenity
text="$@"
быть расширенным до text="arg1" "arg2" "arg3"
, который должен перестать работать. Но конечно не имеет место.
– manatwork
26.10.2012, 21:37
"$@"
действительно подвергается разделению слова, даже в переменных присвоениях.
– ruakh
27.10.2012, 04:35
zenity --text="$*"
--"$*"
расширяется до отдельного слова. – glenn jackman 26.10.2012, 23:31