jas*_*son 4 bash shell function fish
function run () {
nohup python $1 > nohup.out &
}
Run Code Online (Sandbox Code Playgroud)
在命令行上,我将其称为“run scriptname.py”,bash 执行以下命令:
python scriptname.py > nohup.out &
Run Code Online (Sandbox Code Playgroud)
你能帮我把这个翻译成鱼吗?
到目前为止我有这个..
function run
bash -c "nohup python $1 > nohup.out &"
end
Run Code Online (Sandbox Code Playgroud)
当我在 ~/.config/fish/config.fish 上调用 source 时
这存在只是说
Error when reading file: ~/.config/fish/config.fish
Run Code Online (Sandbox Code Playgroud)
没有提供任何关于错误是什么的有用提示。
真的没有必要在bash这里执行,fish 也可以执行nohup,重定向也可以工作等等。
有一个细微的区别,而不是 $1 和 $2 等,fish 函数的参数存储在 $argv 数组中。
function run
nohup python $argv > nohup.out &
end
Run Code Online (Sandbox Code Playgroud)
这会将 $argv 扩展到所有元素,每个元素作为一个元素,因此run script.py banana将运行nohup python script.py banana > nohup.out &. 如果您真的只想传递一个参数,则需要$argv[1].
我实际上不知道为什么您的定义在采购 config.fish 时会导致错误 - 您使用的是哪个鱼版本?