19 lines
		
	
	
	
		
			658 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
	
		
			658 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
# This script returns a random topic for me to revise
 | 
						|
 | 
						|
# It is aliased to cs-revise in .zshrc
 | 
						|
 | 
						|
# Choose source directories...
 | 
						|
DIRS_TO_PARSE="../Computer_Architecture ../Databases ../Electronics_and_Hardware ../Operating_Systems ../Programming_Languages/Shell ../Logic"
 | 
						|
 | 
						|
# Return array of all files belonging to source dirs...
 | 
						|
for ele in $DIRS_TO_PARSE; do
 | 
						|
    FILE_MATCHES+=( $(find $ele -name "*.md" -type f) )
 | 
						|
done
 | 
						|
 | 
						|
# Generate a random integer between 0 and the match array length...
 | 
						|
RANDOM_FILE_INDEX=$(( $RANDOM % ${#FILE_MATCHES[@]} + 0 ))
 | 
						|
 | 
						|
# Return file matching that index...
 | 
						|
echo "Revise this topic: ${FILE_MATCHES[$RANDOM_FILE_INDEX]}"
 |