清单 1. 用 tcsh 编写的查找所有可执行文件的脚本
#!/bin/tcsh
# find all executables
set count=0
# Test arguments
if ($#argv != 1) then
echo "Usage is $0 <dir>"
exit 1
endif
# Ensure argument is a directory
if (! -d $1) then
echo "$1 is not a directory."
exit 1
endif
# Iterate the directory, emit executable files
foreach filename ($1/*)
if (-x $filename) then
echo $filename
@ count = $count + 1
endif
end
echo
echo "$count executable files found."
exit 0
清单 2. 用 ksh 编写的查找所有可执行文件的脚本
#!/usr/bin/ksh
# find all executables
count=0
# Test arguments
if [ $# -ne 1 ] ; then
echo "Usage is $0 <dir>"
exit 1
fi
# Ensure argument is a directory
if [ ! -d "$1" ] ; then
echo "$1 is not a directory."
exit 1
fi
# Iterate the directory, emit executable files
for filename in "$1"/*
do
if [ -x "$filename" ] ; then
echo $filename
count=$((count+1))
fi
done
echo
echo "$count executable files found."
exit 0
|
清单 3. 用 Bash 编写的查找所有可执行文件的脚本
#!/bin/bash
# find all executables
count=0
# Test arguments
if [ $# -ne 1 ] ; then
echo "Usage is $0 <dir>"
exit 1
fi
# Ensure argument is a directory
if [ ! -d "$1" ] ; then
echo "$1 is not a directory."
exit 1
fi
# Iterate the directory, emit executable files
for filename in "$1"/*
do
if [ -x "$filename" ] ; then
echo $filename
count=$((count+1))
fi
done
echo
echo "$count executable files found."
exit 0
清单 4. 用 scsh 编写的查找所有可执行文件的脚本
#!/usr/bin/scsh -s
!#
(define argc
(length command-line-arguments))
(define (write-ln x)
(display x) (newline))
(define (showfiles dir)
(for-each write-ln
(with-cwd dir
(filter file-executable? (directory-files "." #t)))))
(if (not (= argc 1))
(write-ln "Usage is fae.scsh dir")
(showfiles (argv 1)))
1458

被折叠的 条评论
为什么被折叠?



