Я пытаюсь сделать скрипт для отображения файлов в каталоге с параметром --unhide, но он не работает. Можете ли вы мне помочь? Вот моя часть кода.Linux Bash Скрипт, отображающий файлы в каталоге
for i in `ls -1`
do
if [ -f $i ] || [ -d $i ]
then
if [ `echo $i | cut -c1` == "." ]
then
mv $i ${i#.}
fi
fi
done
Спасибо!
А как насчет unhide, то я пишу --unhide file1 file2?
elif [ $1 = --unhide ] && [ ! $2 = --all ]
then
for i in [email protected]
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' не включает скрытые файлы по умолчанию, но Маттиас имеет гораздо более надежный способ делать то же самое. –
Если вы не верите, что использование 'ls' для этого задания является нарушенным, попробуйте выполнить тестирование с некоторыми именами файлов, которые включают пробелы ... или, что еще хуже, новые строки. –