-
Senior Member
registered user
Some Useful Bourne shell functions for Knoppix
.
Using /etc/profile to organize small bash scripts in Knoppix
I've gathered a few small bash code snippets over time which I find occasionally useful.
In addition, I've found it convenient to add these as individual functions to /etc/profile.
This makes it easy to carry forward this material from one version of Knoppix to the next.
I haven't seen this idea per se any place else. Since it seems to work for me without any
hitch, I thought I'd put it out here for others to try.***
I've expounded elsewhere on this forum on most if not all of the specific examples shown
here, so I won't volunteer defense of them here, but I'd be happy to discuss any of them.
I'd be more interested in learning new, similar short scripts others might have found useful,
and of course, any constructive comments on using /etc/profile in this way.
Code:
# Beginning of /etc/profile additions for Knoppix.
# These snippets to be appended to /etc/profile, retaining its root:root permissions.
Count() { # Count wifi disconnects since boot (requires syslog)
echo -e 'Time now: \c'; date '+%H:%M:%S'
echo -e 'Time at start: \c'; less /var/log/syslog | grep restart | awk -F' ' '{ print $3 }'
echo -e 'Number of Disconnects: \c'; less /var/log/syslog | grep -c disconnecting
}
Channel() { # Assess strengths of those on wifi Channel $1
sudo iwlist wlan0 scan | grep -e Freq -A 3 |
grep "(Channel $1)" -A 3 | grep -v key
}
Uncommon.dpkg() { # define packages uncommon between dpkg.current & dpkg.$1
dpkg --get-selections > /tmp/dpkg.current
comm -3 --nocheck-order /tmp/dpkg.current "dpkg.$1" | less | tee uncommon
}
MakeOverlay() { # Cloop-compress & save /KNOPPIX-DATA as /mnt-system/KNOPPIX$1
ISO=KNOPPIX$1; ISODIR=/mnt-system/; ISOSRC=KNOPPIX-DATA
echo -e "Creating "$ISO"; patience, this may take some time..."
cd /; sudo mkisofs -x *gvfs* -x *[Cc]ache* -iso-level 4 -R -U \
$ISOSRC | create_compressed_fs -B 131072 -m - - > $ISODIR$ISO
echo ".done; "$ISO" additions from $ISOSRC saved to "$ISODIR"."
}
SaveConfig() { # Save tar.gz-ed collections of config files at /mnt-system/
cd /; KEEP=/mnt-system/update$(date +"%m%d%H").tar.gz
echo -e "Creating "$KEEP"; patience..\c"; tar cfz $KEEP \
home/knoppix/.config home/knoppix/.mozilla mnt-system/boot/syslinux/*.cfg \
etc/X11/Xsession.d/45* etc/rc.local etc/syslog-knoppix.conf etc/profile
echo ".done."
}
RestoreConfig() { # Given PEEK's date as $1, in %m%d%H format, restore $PEEK to $2
PEEK="/mnt-system/update$1.tar.gz"
dialog --yesno "Restoring "$PEEK" to "$2"; is this correct?" 6 45
if [ $? -eq 0 ]
then echo -e "Restoring "$PEEK" files to "$2"..\c"
tar -xf $PEEK -C $2
echo ".done."
else echo "Aborting."
fi
}
# Copyright 2014 by TJ Hoye, License GPL Version 2
# End of /etc/profile additions for Knoppix.
***I've recently discovered two useful things.
1. There's a general precedence for this at:
http://www.linuxfromscratch.org/blfs...s/profile.html
2. Modifiying /etc/profile exactly this way will crash Mint16 Xfce LiveUSBs.
Some work-around will have to be developed if one were to use this idea there;
a logical candidate there might be .profile in /home/mint, but I haven't tried that.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
![Intel Core i7-13700K - Raptor Lake 16-Core (8P+8E) 3.4GHz LGA 1700 CPU Processor picture](/store/img/g/j5kAAOSwzMZmenUI/s-l225/Intel-Core-i7-13700K-Raptor-Lake-16-Core-8P-8E-3-4.jpg)
Intel Core i7-13700K - Raptor Lake 16-Core (8P+8E) 3.4GHz LGA 1700 CPU Processor
$216.00
![Intel - Core i9-14900K 14th Gen 24-Core 32-Thread - 4.4GHz (6.0GHz Turbo) Soc... picture](/store/img/g/YFUAAOSwTDplMDa3/s-l225/Intel-Core-i9-14900K-14th-Gen-24-Core-32-Thread-4-.jpg)
Intel - Core i9-14900K 14th Gen 24-Core 32-Thread - 4.4GHz (6.0GHz Turbo) Soc...
$619.99
![Intel - Core i7-14700K 14th Gen 20-Core 28-Thread - 4.3GHz (5.6GHz Turbo) Soc... picture](/store/img/g/0eYAAOSwcHZlMDWu/s-l225/Intel-Core-i7-14700K-14th-Gen-20-Core-28-Thread-4-.jpg)
Intel - Core i7-14700K 14th Gen 20-Core 28-Thread - 4.3GHz (5.6GHz Turbo) Soc...
$444.99
![Intel Core i5-8500 Six Core Desktop PC CPU Processor 3.00GHz LGA1151 SR3XE picture](/store/img/g/3UkAAOSwQ91fkfee/s-l225/Intel-Core-i5-8500-Six-Core-Desktop-PC-CPU-Process.jpg)
Intel Core i5-8500 Six Core Desktop PC CPU Processor 3.00GHz LGA1151 SR3XE
$43.99
![Intel - Core i5-14600K 14th Gen 14-Core 20-Thread - 4.0GHz (5.3GHz Turbo) Soc... picture](/store/img/g/2f8AAOSw7ltlMDW2/s-l225/Intel-Core-i5-14600K-14th-Gen-14-Core-20-Thread-4-.jpg)
Intel - Core i5-14600K 14th Gen 14-Core 20-Thread - 4.0GHz (5.3GHz Turbo) Soc...
$339.99
![Intel Core i7 CPU Processors, I7 2600, i7 3770, i7 4770, i7 4790 picture](/store/img/g/kr4AAOSw~7BiZtZ2/s-l225/Intel-Core-i7-CPU-Processors-I7-2600-i7-3770-i7-47.jpg)
Intel Core i7 CPU Processors, I7 2600, i7 3770, i7 4770, i7 4790
$28.99
![Intel Core i3-6100 3.70 GHz LGA 1151 Desktop CPU Processor SR2HG picture](/store/img/g/AtMAAOSw1sRmgvFi/s-l225/Intel-Core-i3-6100-3-70-GHz-LGA-1151-Desktop-CPU-P.jpg)
Intel Core i3-6100 3.70 GHz LGA 1151 Desktop CPU Processor SR2HG
$9.99
![Intel Core i7-4790K SR219 4.00GHZ 4Th Gen Used Desktop Processor CPU FCLGA1150 picture](/store/img/g/klEAAOSwVO1mdf-P/s-l225/Intel-Core-i7-4790K-SR219-4-00GHZ-4Th-Gen-Used-Des.jpg)
Intel Core i7-4790K SR219 4.00GHZ 4Th Gen Used Desktop Processor CPU FCLGA1150
$64.99
![13th Gen Intel 14-Core i5-13500T Turbo Boost up to 4.6 GHz Processor 8K Support picture](/store/img/g/ztMAAOSwoA1lU8wp/s-l225/13th-Gen-Intel-14-Core-i5-13500T-Turbo-Boost-up-to.jpg)
13th Gen Intel 14-Core i5-13500T Turbo Boost up to 4.6 GHz Processor 8K Support
$169.00
![Intel Core i7-12700K Unlocked Desktop Processor - 12 Cores And 20 Threads picture](/store/img/g/hE8AAOSw1y1mg2T5/s-l225/Intel-Core-i7-12700K-Unlocked-Desktop-Processor-12.jpg)
Intel Core i7-12700K Unlocked Desktop Processor - 12 Cores And 20 Threads
$224.98