English 中文(简体)
附加到受保护的文件
原标题:Append to protected file

我想按照以下的思路做一件事:

echo "Append string" >> protected_file

但是,由于此文件被写入保护, 我有一个错误。 运行中 :

sudo echo "Append string" >> protected_file

似乎在回声命令上运行 sudo, 而且仍然给我权限错误, 我该如何附加到此文件?

最佳回答
echo "Append string" | sudo tee -a protected_file >/dev/null
问题回答

对于一个字面的回答,

sudo sh -c  echo "Append string" >> protected_file 

但我原则上同意希万·拉普托的意见。

解释 : is a shell 运算符。 如果您引用 sudo 命令 , 您将不会运行另一个 shell; 因此, 您无法重新定向 > echo , 而不同时重定向 sudo (这最终使您在进行重定向时使用错误的用户代号 ) 。 关键在于在 sudo 内发射一个单独的外壳, 在那里您可以发布重定向操作符 。

或尝试此 :

echo "echo  append string  >> protected_file" | sudo bash

综合起来,确定一个答案,有三种方式:

sudo su root -c "echo  append string  > protected_file"
echo "echo  append string  >> protected_file" | sudo bash
echo "append string" | sudo tee -a protected_file >/dev/null




相关问题
Parse players currently in lobby

I m attempting to write a bash script to parse out the following log file and give me a list of CURRENT players in the room (so ignoring players that left, but including players that may have rejoined)...

encoding of file shell script

How can I check the file encoding in a shell script? I need to know if a file is encoded in utf-8 or iso-8859-1. Thanks

Bash usage of vi or emacs

From a programming standpoint, when you set the bash shell to use vi or emacs via set -o vi or set -o emacs What is actually going on here? I ve been reading a book where it claims the bash shell ...

Dynamically building a command in bash

I am construcing a command in bash dynamically. This works fine: COMMAND="java myclass" ${COMMAND} Now I want to dynamically construct a command that redirectes the output: LOG=">> myfile.log ...

Perform OR on two hash outputs of sha1sum

I want perform sha1sum file1 and sha1sum file2 and perform bitwise OR operation with them using bash. Output should be printable i.e 53a23bc2e24d039 ... (160 bit) How can I do this? I know echo $(( ...

Set screen-title from shellscript

Is it possible to set the Screen Title using a shell script? I thought about something like sending the key commands ctrl+A shift-A Name enter I searched for about an hour on how to emulate ...

热门标签