如何通过 ssh 将一行追加到 /etc/fstab

jul*_*old 2 ssh permissions command-line fstab mount

我写了一个硬盘自动挂载程序。

该软件使用 ssh 向目标计算机发出请求。这个想法是新安装的硬盘会自动添加到 fstab 中。

我已经让一切工作正常,fstab 行实体已准备好附加到文件中。

我试图在我的软件中添加这样的内容:

command.RunCommandSudo($"echo \"{mountstring}\" >> /etc/fstab");
Run Code Online (Sandbox Code Playgroud)

产生以下格式的 ssh 查询:

sudo echo "UUID=X /mnt/test ext4 defaults 0 1" >> /etc/fstab 
Run Code Online (Sandbox Code Playgroud)

=> 权限被拒绝

怎样才是合适的方式呢?我怀疑自动化软件的适当方法是通过文本编辑器(例如nano)?

Ter*_*nce 5

另一种方法是使用tee命令。

NAME
       tee - read from standard input and write to standard output and files

SYNOPSIS
       tee [OPTION]... [FILE]...

DESCRIPTION
       Copy standard input to each FILE, and also to standard output.

       -a, --append
              append to the given FILEs, do not overwrite
Run Code Online (Sandbox Code Playgroud)

因此,对于您的命令,您可以这样做:

echo "UUID=X /mnt/test ext4 defaults 0 1" | sudo tee -a /etc/fstab
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

4767 次

最近记录:

3 年,11 月 前