-
Good idea Werner, thanks for the suggestion!
Here is my detailed explanation for novices, and a working code sample (tested on v6.7.1dvd), for those who wish to use this method:
knoppix.sh is executed during startup by a block of code that can be seen at the end of /etc/init.d/knoppix-autoconfig. If one wishes to undertake a deep remastering, it is possible to modify this code to build a script-inhibiting cheatcode into the system.
Alternatively, a conditional code block can be inserted at the start of knoppix.sh to parse /proc/cmdline, the kernel boot instructions, for a specified keyword, for example no_myscript. Use this keyword as you would a cheatcode, by typing knoppix no_myscript at the boot prompt, and the code shown below will suspend script execution; if the keyword is not entered, the script will execute as per normal.
Code:
string=$(cat /proc/cmdline); # Assign output of 'cat' to variable 'string'.
if [ "$string" != "${string/no_myscript}" ]; then # Check for presence of keyword.
echo "Stopping Script"
exit
else
echo "Running Script"
fi
Note that knoppix.sh is not executed in Bash, but in a Bourne shell, so some more common Bash commands that check whether a variable contains certain text will not work properly; for instance, grep will not work, nor will [[ "$string" == *no_myscript* ]]. Hence my use of the clever method published by one ephemient on a thread at stackoverflow, and described by him as follows:
${var/search/replace} is
$var with the first instance of search replaced by replace, if it's found (it doesn't change
$var). If you try to replace [
no_myscript] by nothing, and the string has changed, then obviously [
no_myscript] was found.
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

Vintage Intel Mainframe Server MCM CPU Substrate Lot Prototyping PGA Validation
$500.00

HP 13210-60001 Disc Drive Interface PCB HP 7900A 7901A Vintage
$225.61

HP 5060-8359 8K Semiconductor Memory Module 5080-9747 Vintage HP Computer
$224.72

Vintage Telex 952003-112 Mechanical Terminal Keyboard IBM 3270 Mainframe DB25
$799.00

Vintage Mainframe Computer Disk Drive Pack Dyson SMD 5 Level Disks
$79.00

Vtg IBM Mainframe Prototype Chip Module Lot 146 pc 1988-1993 ES/9000 Lab Arcive
$649.00

Commodore 64 PC with Model 1541 Diskette Drive and Flight Simulator II *READ*
$199.99

Rare Vintage Mainframe Burroughs Discrete-Transistor Cordwood Module B2500/B5000
$99.95

Vintage UNIVAC 3620670-01 Mainframe Logic Board 15MHz Sperry Computer PCB
$98.95

IBM 3274-51C Controller 3270 mainframe 8" floppy tested to power on
$500.00