Bash create new file with content

Introduction

How to BASH create a new file with content in Linux? In Bash scripting, there are multiple ways to use Bash create new file and populate it with content.

In this tutorial, we will explore three common methods to create a new file with content in Bash. You can use the commands line below

  • touch command to create an empty file: touch FILENAME
  • cat command to create a text file: cat > FILENAME

Write the contents to a file:
cat << “EOF” > /path/to/yourfilename
write the contents to a file
Use cat HERO DOCUMENT write content file
EOF

For example, My bash create new file with content.

I will create file jarservice in /etc/init.d/jarservice to java run jar as service on centos 6 as below.

#!/bin/bash
# Author: HuuPV2
yourservice=jarservice
touch /etc/init.d/$yourservice

cat << "EOF" > /etc/init.d/$yourservice
#!/bin/bash
SERVICE_NAME=$yourservice
PATH_TO_JAR=/path/to/yourapplication.jar
LOG_DIR=/var/log/yourapplication.log
PID_PATH_FILE=/var/run/yourapplication.pid
case $1 in
  start)
     echo "Starting $SERVICE_NAME ..."
     if [ ! -f $PID_PATH_FILE ]; then
        nohup java -jar $PATH_TO_JAR >> $LOG_DIR 2>&1&
        echo $! > $PID_PATH_FILE
        echo "$SERVICE_NAME started ..."
     else
        echo "$SERVICE_NAME is already running ..."
     fi
     ;;
  stop)
     if [ -f $PID_PATH_FILE ]; then
        PID=$(cat $PID_PATH_FILE);
        echo "$SERVICE_NAME stoping ..."
        kill $PID;
        echo "$SERVICE_NAME stopped ..."
        rm $PID_PATH_FILE
     else
        echo "$SERVICE_NAME is not running ..."
     fi
     ;;
     *)
     echo $"Usage: $0 {start|stop}"
     exit 2
esac 
EOF
chmod +x /etc/init.d/$yourservice
echo "Welcome to www.devopsroles.com"

Run Bash create a new file with content

[huupv@huupv devopsroles]$ chmod +x bash_new_file.sh 
[huupv@huupv devopsroles]$ sudo ./bash_new_file.sh

The screen output terminal:

Bash create new file with content

Conclusion

Creating a new file with content in Bash is a straightforward task. By utilizing methods such as echo with output redirection, here documents, or printf with output redirection, you can generate files with ease.

Through the article, you can use Bash create new file with content as above. I hope will this your helpful. For more details refer to Bash script.

About HuuPV

My name is Huu. I love technology, especially Devops Skill such as Docker, vagrant, git, and so forth. I like open-sources, so I created DevopsRoles.com to share the knowledge I have acquired. My Job: IT system administrator. Hobbies: summoners war game, gossip.
View all posts by HuuPV →

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.