Linux:Scripts: Difference between revisions
From Cheatsheet
Jump to navigationJump to search
m (Patrick moved page Linux:Scripting to Linux:Scripts) |
(→Common) |
||
| Line 16: | Line 16: | ||
else | else | ||
</syntaxhighlight> | |||
=== if === | |||
<pre> | |||
[ -d "$FILE" ] = If file exists | |||
[ -f "$FILE" ] = If directory exists | |||
</pre> | |||
<syntaxhighlight lang='bash'> | |||
FILE=~/todo.txt | |||
if [ -f "$FILE" ]; then | |||
cat "~/todo.txt" | |||
else | |||
echo "“Je hebt nog geen todo.txt! Maak deze z.s.m. aan.”" | |||
fi | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 12:55, 22 September 2023
Common
# Execute a command within all objects in a folder. for i in *; do du -h "$i" ; done
# man test [] Brackets are for checking whether something is true or not. if [ -d "$D" ] then else
if
[ -d "$FILE" ] = If file exists [ -f "$FILE" ] = If directory exists
FILE=~/todo.txt if [ -f "$FILE" ]; then cat "~/todo.txt" else echo "“Je hebt nog geen todo.txt! Maak deze z.s.m. aan.”" fi
SSH
centos-create-user.sh
#!/bin/bash
# Execute as root
# Usage: ./centos-create-user.sh USER
USER="$1"
echo "Creating user ${USER}"
useradd -m ${USER} -G wheel
echo "Creating authorized keys file and settings rights for ${USER} user"
mkdir -p /home/${USER}/.ssh
cat << 'EOF' >> /home/${USER}/.ssh/authorized_keys
# PUT ANY KEYS IN HERE
# KEY-1
# KEY-2
# KEY-3
EOF
chown -R ${USER}:${USER} /home/${USER}/.ssh
chmod 700 /home/${USER}/.ssh
chmod 600 /home/${USER}/.ssh/authorized_keys
# EOF
ubuntu-create-user.sh
#!/bin/bash
# Execute as root
# Usage: ./ubuntu-create-user.sh USER
USER="$1"
echo "Creating user ${USER}"
adduser ${USER} --disabled-password
echo "Adding ${USER} to the sudo group"
usermod -aG sudo ${USER}
echo "Creating authorized keys file and settings rights for ${USER} user"
mkdir -p /home/${USER}/.ssh
cat << 'EOF' >> /home/${USER}/.ssh/authorized_keys
# PUT ANY KEYS IN HERE
# KEY-1
# KEY-2
# KEY-3
EOF
chown -R ${USER}:${USER} /home/${USER}/.ssh
chmod 700 /home/${USER}/.ssh
chmod 600 /home/${USER}/.ssh/authorized_keys
# EOF
Automatic sendmail
#!/bin/bash
#requires: date,sendmail
function fappend {
echo "$2">>$1;
}
YYYYMMDD=`date +%Y%m%d`
# CHANGE THESE
TOEMAIL="ADMINISTRATOR@MYDOMAIN.COM";
FREMAIL="FROMNOREPLY@MYDOMAIN.com";
SUBJECT="E-mail Subject";
MSGBODY=$(Command);
# DON'T CHANGE ANYTHING BELOW
TMP=`mktemp`
rm -rf $TMP;
fappend $TMP "From: $FREMAIL";
fappend $TMP "To: $TOEMAIL";
fappend $TMP "Reply-To: $FREMAIL";
fappend $TMP "Subject: $SUBJECT";
fappend $TMP "";
fappend $TMP "$MSGBODY";
fappend $TMP "";
fappend $TMP "";
cat $TMP|/usr/sbin/sendmail -t;
rm $TMP;