Webサイトのパスを配列として保存しようとすると問題があります。
forループ内で動作します。配列の内容をエコーすると正しく印刷されます。
ところで、If / Else内で配列の特定の部分を別の変数に保存してみましたが、うまくいきませんでした。配列の特定の部分をエコーすると、何も印刷されません。
コードは次のとおりです。
#! /bin/sh
SITES=()
i=0
for d in /var/www/sites/*/;
do (
PATHWAY=$d
SITES+=($PATHWAY)
echo "$i: $PATHWAY"
); let "i++"
done
read -p 'Enter the number of the website you want to restore. Enter "exit" to quit. ' url
if [ "$url" = "exit" ]
then
exit 0
else
RESTORE_URL=${SITES[url]}
fi
ベストアンサー1
select
以下はドアを使うのに良い場所のようです。
select path in /var/www/sites/* EXIT; do
if [[ "EXIT" = "$path" ]]; then
exit 0
else
: do stuff here referencing $path
fi
done