mirror of https://github.com/tLDP/LDP
31 lines
870 B
Bash
31 lines
870 B
Bash
#!/bin/bash
|
|
# script-detector.sh: Detects scripts within a directory.
|
|
|
|
TESTCHARS=2 # Test first 2 characters.
|
|
SHABANG='#!' # Scripts begin with a "sha-bang."
|
|
|
|
for file in * # Traverse all the files in current directory.
|
|
do
|
|
if [[ `head -c$TESTCHARS "$file"` = "$SHABANG" ]]
|
|
# head -c2 #!
|
|
# The '-c' option to "head" outputs a specified
|
|
#+ number of characters, rather than lines (the default).
|
|
then
|
|
echo "File \"$file\" is a script."
|
|
else
|
|
echo "File \"$file\" is *not* a script."
|
|
fi
|
|
done
|
|
|
|
exit 0
|
|
|
|
# Exercises:
|
|
# ---------
|
|
# 1) Modify this script to take as an optional argument
|
|
#+ the directory to scan for scripts
|
|
#+ (rather than just the current working directory).
|
|
#
|
|
# 2) As it stands, this script gives "false positives" for
|
|
#+ Perl, awk, and other scripting language scripts.
|
|
# Correct this.
|