所以我这么做了:
function wtfman(){
local command="vi /the/path/file.txt"
$($command)
}
希望程序在这条路上打开vi
但是,当我执行
wtfman
时,它会返回Vim: Warning: Output is not to a terminal
我做错了什么?我该如何改革这个功能,使它相应地打开vi,而不仅仅是抱怨?我想要一个命令存储在一个字符串中,我想执行该字符串指定的命令。它适用于其他一切,但不适用于vi(可能是因为vi的全屏特性?)
最佳答案
在子shell中执行时,请改用eval
。
function wtfman(){
local command="vi /the/path/file.txt"
eval "$command"
}
或者只是…
function wtfman(){
local command="vi /the/path/file.txt"
$command
}
甚至只是…
function wtfman(){
vi /the/path/file.txt
}
关于linux - 使用bash $命令执行vi,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19438969/