相当于 fish 中的 sudo tee filename <<<"string"

Equivalent to sudo tee filename <<<"string" in fish

现在我在bash中执行以下命令:

sudo tee /proc/acpi/nvhda <<<ON

但是,我想在 fish 中使用该命令而不是 bash。 <<< 在 fish 中不起作用并抛出错误。 什么相当于鱼?

我试图通过管道发送回声,但结果是权限被拒绝。

sudo echo "ON" | /proc/acpi/nvhda

作为一种在鱼类中有效的方法,与在 POSIX 家族中一样有效 shells:

echo ON | sudo tee /proc/acpi/nvhda

sudo echo 没有意义 -- echo 只是写入它从其父进程继承的已经打开的 stdout 句柄;它不会打开任何文件,因此不需要任何权限。

指向 tee 的点是在 shell 之外有一个进程 ,因此可以在 sudo 的另一端。无论您是否在使用 heredoc 或 herestring 支持,这都有效。