Shell:如何打开文件并删除其中的内容
我已经在我的服务器上安装了一个名为Fluentd的日志软件,它附带了一个conf文件/etc/td-agent/td-agent.conf。这个文件充满了句子和例子,这就是所谓的“标准配置”。我想制作一个shell脚本,删除文件中的所有内容,然后添加以下内容:Shell:如何打开文件并删除其中的内容,shell,Shell,我已经在我的服务器上安装了一个名为Fluentd的日志软件,它附带了一个conf文件/etc/td-agent/td-agent.conf。这个文件充满了句子和例子,这就是所谓的“标准配置”。我想制作一个shell脚本,删除文件中的所有内容,然后添加以下内容: { echo "include /home/adrian/app/config/fluentd/td-agent.conf" } >> /etc/td-agent/td-agent.conf 但是在添加这个之前,我需要
{ echo "include /home/adrian/app/config/fluentd/td-agent.conf" } >> /etc/td-agent/td-agent.conf
但是在添加这个之前,我需要删除文件的内容(而不是文件本身)。
我不知道如何打开/etc/td-agent/td-agent.conf并删除所有内容。在shell中如何实现这一点
最好的,阿德里安
我是centos的超级用户
echo "include /home/adrian/app/config/fluentd/td-agent.conf" > /etc/td-agent/td-agent.conf
请注意使用>
而不是>
注意使用
而不是
如果要保留现有代码,则从零重定向将截断文件
> /etc/td-agent/td-agent.conf
如果您想保留现有代码,则从零重定向将截断文件
> /etc/td-agent/td-agent.conf
只需使用>而不是>>只需使用>而不是>>你的意思是不是
cat/dev/null>/etc/td-agent/td-agent.conf
?使用您的命令,我的shell正在等待更多输入。@迈尔斯:您使用的哪个shell不理解空重定向?我使用的是zsh。我的shell是否应该假设从nothing重定向与从/dev/null重定向相同?@MilesYucht:Bash打开文件进行写入,在过程中截断它,然后立即关闭它,因为nothing运行。我认为zsh的做法有所不同。你完全正确;我以前从未注意到这一点。Zsh然后读取标准输入,因此>myfile
后跟CTRL-D
实现了完全相同的效果。你是说cat/dev/null>/etc/td-agent/td-agent.conf
?使用您的命令,我的shell正在等待更多输入。@迈尔斯:您使用的哪个shell不理解空重定向?我使用的是zsh。我的shell是否应该假设从nothing重定向与从/dev/null重定向相同?@MilesYucht:Bash打开文件进行写入,在过程中截断它,然后立即关闭它,因为nothing运行。我认为zsh的做法有所不同。你完全正确;我以前从未注意到这一点。Zsh然后读取标准输入,因此>myfile
后跟CTRL-D
达到完全相同的效果。