Friday, April 1, 2011

Re: Problems using value returned by external command

On 2011-04-01, Spiros Bousbouras wrote:
> The following on GNU/Linux with vim version 7.1
>
> prompt> cat myscript
> #!/bin/sh
> echo 1
>
> prompt> cat myscript.vim
> function! Check()
> let l:r = system("./myscript")
> if l:r == "1"
> echo "Good"
> else
> echo "Length of l:r is" strlen(l:r)
> echoerr "l:r is" l:r
> endif
> endfunction

As you've figured out, Vim's system() function includes in its
return value the newline at the end of the command's output. If you
need the result without the newline, use substitute() like this:

let x = substitute(system("some command"), "\n", "", "")

HTH,
Gary

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

No comments:

Post a Comment