如何在Linux中通过shell脚本自动将数据写入文本文件?

我打开了文件。但是,我不知道如何写入数据。


当前回答

如果使用变量,可以使用

first_var="Hello"
second_var="How are you"

如果你想连接两个字符串并将其写入文件,那么使用下面的方法

echo "${first_var} - ${second_var}" > ./file_name.txt

你的file_name.txt内容将是"Hello - How are you"

其他回答

我喜欢这个答案:

cat > FILE.txt <<EOF

info code info 
...
EOF

但建议cat >> file .txt << EOF,如果你只是想在文件末尾添加一些东西,而不清除已经存在的东西

是这样的:

cat >> FILE.txt <<EOF

info code info 
...
EOF

对于这里的文档不可用的环境(Makefile, Dockerfile等),您通常可以使用printf来获得合理清晰和高效的解决方案。

printf '%s\n' '#!/bin/sh' '# Second line' \
    '# Third line' \
    '# Conveniently mix single and double quotes, too' \
    "# Generated $(date)" \
    '# ^ the date command executes when the file is generated' \
    'for file in *; do' \
    '    echo "Found $file"' \
    'done' >outputfile
#!/bin/bash

cat > FILE.txt <<EOF

info code info 
info code info
info code info

EOF 

移动我的评论作为一个答案,由@lycono要求

如果你需要用root权限来做这件事,这样做:

sudo sh -c 'echo "some data for the file" >> fileName'

如果使用变量,可以使用

first_var="Hello"
second_var="How are you"

如果你想连接两个字符串并将其写入文件,那么使用下面的方法

echo "${first_var} - ${second_var}" > ./file_name.txt

你的file_name.txt内容将是"Hello - How are you"