Я пытаюсь сделать скрипт для отображения файлов в каталоге с параметром --unhide, но он не работает. Вы можете мне помочь? Вот моя часть кода.
for i in `ls -1`
do
if [ -f $i ] || [ -d $i ]
then
if [ `echo $i | cut -c1` == "." ]
then
mv $i ${i#.}
fi
fi
done
Спасибо!
А как насчет показать, то я пишу --показать файл1 файл2?
elif [ $1 = --unhide ] && [ ! $2 = --all ]
then
for i in $@
do
if [ -f $i ] || [ -d $i ]
then
if [ `echo $i | cut -c1` == "." ]
then
mv $i ${i#.}
fi
fi
done
Это просто, тогда у нас нет скрытых файлов, тогда имя параметра совпадает с именем файла. Но как проверить скрытые файлы? Я пытался написать --unhide .file1 .file2, но скрипт показывает только .file1, а .file2 нет.
ls -1
не включает скрытые файлы по умолчанию, но у Маттиаса есть гораздо более надежный способ сделать то же самое. - person that other guy   schedule 09.11.2014ls
для этой работы по своей сути не работает, попробуйте протестировать некоторые имена файлов, которые содержат пробелы... или, что еще хуже, новые строки. - person Charles Duffy   schedule 09.11.2014