Temporary memory files and shell scripts

Recently we got lots of discussion about shell scripts that create a temporary memory files and only available to the invoked shell but not visible to any other user or process except root user. If we use /tmp directory to create file then it will be available to everyone. Next comes the idea of here document feature. For example following simple shell program uses here document feature

ADVERTISEMENTS

#!/bin/bash
cat << STOP
DATA1=””
DATA2=””
echo $DATA1
STOP

However soon we discovered that here documents is implemented as temporary file by bash shell. For example if we run strace on script we can easily see it is opening file in /tmp
$ strace -f script.bash

Bottom line if data is such critical scripts are useless, it is better go with private directory or write program in C.

🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source & DevOps topics via:
CategoryList of Unix and Linux commands
File Managementcat
FirewallCentOS 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. Required fields are marked *

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