以root权限在bash中创建/编辑文件

问题描述:

我正在创建,然后在具有root权限的目录中写入bash4中的文件。以root权限在bash中创建/编辑文件

我看着这些结果从计算器: https://unix.stackexchange.com/questions/37875/how-to-add-a-line-to-a-file-which-has-only-root-write-permission-and-to-continue

但不是我的帮助。 以下$fName包含文件路径。

首先,我摸了文件:sudo touch $fName;

我写一个键值对(YAML)和本作品:

echo " "$key": "$value 

但是当我尝试写入文件$fName为:

sudo sh -c 'echo " "$key": "$value >> $fName'; 

甚至:

sudo sh -c 'echo \" "$key": "$value\ >> $fName'; 

不起作用。

获取各种错误:

坏替代,找不到命令等

我也试图写入内存或/ tmp目录,然后将其移动到该目录。

这会是一个更好的主意吗?不知何故,这也没有奏效。

谢谢你的帮助。

+0

谢谢。你所有的解决方案都可以工非常感激! –

包括变量在内的所有东西都将被视为字符串而不是变量!

这是行不通的? sudo sh -c "echo \" $key: $value \" >> $fName"

+0

谢谢。你所有的解决方案都可以工非常感激! –

我相信你会想保留周围$fName引号,以防止在path/filename空间:

sudo bash -c "echo \" $key: $value\" >> \"$fName\"" 
+0

谢谢。你所有的解决方案都可以工非常感激! –