Вот решение:
#!/bin/bash
target="/home/personal/scripts/07_22_13/ford/$1"
let count=0
for f in "$target"/*
do
echo $(basename $f)
let count=count+1
done
echo ""
echo "Count: $count"
Решение 2
Если вы не хотите иметь дело с разбора путь, чтобы получить только имена файлов, другое решение является cd
в справочник, о котором идет речь, и ваша компания, а также cd
назад, где вы были:
#!/bin/bash
target="/home/personal/scripts/07_22_13/ford/$1"
pushd "$target" > /dev/null
let count=0
for f in *
do
echo $f
let count=count+1
done
popd
echo ""
echo "Count: $count"
Команды pushd
и popd
будут переключаться в каталог, а затем возвращаться.
Обратите внимание, что сценарий не знает '$ вар дома', так что вы должны использовать '/ дома ...'. – fedorqui
Есть ли способ, возможно, не включать весь путь? Это определенно облегчило бы пользователя. @fedorqui – theGrayFox
Возможно, вы можете определить исходную структуру пути, например 'path =/home/this_user', а затем проверить' $ path/$ directory'. – fedorqui