我正在我的~/.vimrc
文件中编写一个函数,但是我遇到了问题。
我想连接一个变量和一个const字符串,所以我这样做如下:
let linux_version=system('uname -r')
let host_kernel_dir= "/lib/modules/" . linux_version . "/build"
echo host_kernel_dir
我想结果是/lib/modules/4.8.0-52-generic/build
,但我得到了这个结果
"/lib/modules/4.8.0-52-generic
/build "
所以似乎添加了\n
。那么如何摆脱这个\n
?
答案 0 :(得分:1)
这会从系统输出中删除换行符
let linux_version = substitute(system('uname -r'), '\n\+$', '', '')
答案 1 :(得分:1)
system()
结果必须 chomped (对于已知perl的人),我使用以下内容:
function! lh#os#system(cmd)
return system(a:cmd)[:-2]
endfunction
答案 2 :(得分:0)
使用/ proc伪文件系统的另一种解决方案:
let linux_version=readfile('/proc/sys/kernel/osrelease')[0]