Bash Continue Command / Script On The Next Line

How do I tell bash to continue the command on the next line when commands are so large and can not fit on a single line under Unix like operating systems?

You need to use the \ character i.e a backslash. From the bash man page:

ADVERTISEMENTS

A non-quoted backslash ‘\’ is the Bash escape character. It preserves the literal value of the next character that follows, with the exception of newline. If a \newline pair appears, and the backslash itself is not quoted, the \newline is treated as a line continuation (that is, it is removed from the input stream and effectively ignored).

Tutorial details
DifficultyEasy (rss)
Root privilegesNo
RequirementsBash
TimeN/A


commannd1 arg1 arg2 \
arg3 arg4

OR


commannd1 -arg1 -arg2 \
-arg3 -arg4 \
-arg5 -arg6

Example

The following command is used to compile and install nginx web server. A backslash (\) is used as to continue command on the next line:

./configure --without-http_autoindex_module --without-http_ssi_module \
           --without-http_userid_module --without-http_auth_basic_module \
           --without-http_geo_module --without-http_fastcgi_module \
           --without-http_empty_gif_module  --with-openssl=/lib64
🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source/DevOps topics:
CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNCentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS
0 comments… add one

Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.