У меня есть задание, где мне нужно создать скрипт. Я хотел бы помочь. Я боролся, и в этот момент я потерян и не знаю, как поступить. Я должен создать сценарий, который будет принимать путь, гарантирующий, что все элементы в пути являются каталогами, а затем перейдет к отображению подробностей каталога следующим образом.
Если введено ./pathdisplay ~unx510/sample.dir1/testdir1
, это отображается:
Owner Group Other Filename
----- ----- ----- --------
r w x r - x r - x /
r w x r - x r - x home
r w x - - x - - x unx510
r w x r - x r - x sample.dir1
r w x r - x r - x testdir1
Links: 4 Owner: unx510 Group: users Size: 229 Modified: Feb 22 2015
Valid commands: u(p) d(own) q(uit)
Это то, что у меня пока есть:
if [ $# -ne 1 ]; then
echo "Usage: ./pathdisplay [ dir-name ]" >&2
exit 1
elif [ ! -d "$1" ]; then
echo "$1 is not a valid directory name" >&2
exit 1
else
allDirectories=$(tr '/.' '\n' < <(printf "%s" $1))
numOfDirectories=$(tr '/.' '\n' < <(printf "%s" $1) | wc -l)
SAVEIFS=$IFS
IFS=$'\n'
directories=($allDirectories)
IFS=$SAVEIFS
for (( i=0; i<${#directories[@]}; i++ ))
do
if [ $i -le 0 ]; then
$(ls ${directories[$i]})
else
tempIndex=$i
previousDirectory=${directories[i--]}
$(ls '$previousDirectory/'${directories[$i]})
fi
done
exit 0
fi
Я не совсем понимаю, как перебирать каталоги. Как мне нужно указать предыдущий каталог. И затем, чтобы отобразить экран, используя команды для отображения разрешений и деталей. Буду признателен за любую помощь.
https://ideone.com/Dhj7Sq - ссылка на сценарий bash на данный момент
http://czegel.com/seneca/unx510-dps918/assign1a/Assign1a.html - спецификации назначения
http://czegel.com/seneca/unx510-dps918/assign1a/Assign1b.html - назначение скриншотов