Я не совсем новичок в программировании, но я не очень опытен. Я хочу написать небольшой сценарий оболочки для практики.Bourne Shell Scripting - простой для петлевого синтаксиса
Вот что я до сих пор:
#!/bin/sh
name=$0
links=$3
owner=$4
if [ $# -ne 1 ]
then
echo "Usage: $0 <directory>"
exit 1
fi
if [ ! -e $1 ]
then
echo "$1 not found"
exit 1
elif [ -d $1 ]
then
echo "Name\t\tLinks\t\tOwner\t\tDate"
echo "$name\t$links\t$owner\t$date"
exit 0
fi
В основном то, что я пытаюсь сделать, это скрипт пройти через все файлы в указанной директории, а затем отобразить имя каждого файла с количество ссылок, его владельца и дату его создания. Каким будет синтаксис для отображения даты создания или, по крайней мере, даты последней модификации файла?
Другое дело, что такое синтаксис для создания цикла for? Насколько я понимаю, мне пришлось бы написать что-то вроде $ 1 в $ 1 ($ 1 - все файлы в каталоге, который пользователь вводил правильно?), А затем проверить каждый файл и отобразить информацию для каждого из них. Как мне начать и закончить цикл for (для чего это синтаксис?).
Как вы можете видеть, я не очень хорошо знаком с программированием ракеты bourne. Если у вас есть полезные сайты или у вас есть лучший способ приблизиться к этому, пожалуйста, покажите мне!
У вас есть избыточный (и вредный) знак доллара в ваших циклах. Он должен быть 'для var in *; do ... done', без '' 'перед' var'. – ndim
А вы правы, а цикл будет более эффективным. Спасибо за советы и объяснение синтаксиса. –
@ndim - хорошо поймать, исправлено. Я только что вышел из игры с перлом в течение последнего часа. У меня есть пунктуация, плавающая перед моими глазами ... :-) –