26 lines
		
	
	
	
		
			344 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			344 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/sh
 | |
| CACHE=$HOME/.dmenu_cache
 | |
| IFS=:
 | |
| 
 | |
| uptodate() {
 | |
| 	test -f "$CACHE" &&
 | |
| 	for dir in $PATH
 | |
| 	do
 | |
| 		test ! $dir -nt "$CACHE" || return 1
 | |
| 	done
 | |
| }
 | |
| 
 | |
| if ! uptodate
 | |
| then
 | |
| 	for dir in $PATH
 | |
| 	do
 | |
| 		cd "$dir" &&
 | |
| 		for file in *
 | |
| 		do
 | |
| 			test -x "$file" && echo "$file"
 | |
| 		done
 | |
| 	done | sort | uniq > "$CACHE".$$ &&
 | |
| 	mv "$CACHE".$$ "$CACHE"
 | |
| fi
 | |
| 
 | |
| cat "$CACHE"
 |