これは非常に単純なスクリプトです。
#!/usr/local/bin/bash
set -e
if [ "$#" -lt 1 ]
then
echo "Please insert at least one argument"
exit
else
echo -e "\c"
fi
if [ -h "$1" ]
then
echo "$1 is a symbolic link"
else
echo "$1 in not a symbolic link"
fi
〜
私の質問は:複数のパラメータを認識するようにスクリプトをどのように変更できますか? 4つのファイルがあり、スクリプトを返したいです。
$1 is a symbolic link
$2 is not a symbolic link
$3 is not a symbolic link
など
どうすればいいですか?
ベストアンサー1
$@
元のスクリプトと同じ構造を使用して配列(つまり、コマンドラインで指定された引数のリスト)を繰り返すだけです。
#!/usr/local/bin/bash
set -e
if [ "$#" -lt 1 ]
then
echo "Please insert at least one argument"
exit
else
echo -e "\c"
fi
for file in "$@"
do
if [ -h "$file" ]
then
echo "$file is a symbolic link"
else
echo "$file is not a symbolic link"
fi
done
同じ内容の単純化されたバージョンは次のとおりです。
#!/usr/bin/env bash
[ "$#" -lt 1 ] && printf "Please give at least one argument\n" && exit
for file
do
[ -h "$file" ] && printf "%s is a symbolic link\n" "$file" ||
printf "%s is not a symbolic link\n" "$file"
done