برای این کار می تونین از این اسکریپت استفاده کنیم (من سعی کردم دستوری رو که شما نوشتین رو با کمترین تغییر اصلاح کنم و به ساختارش دست نزنم) :
cp -r /home/user/Photos /home/user/Backup &
pid=$!
i=1
sp="/-\|"
echo -n ' '
while ps -p $pid &>/dev/null ; do
printf "\b${sp:i++%${#sp}:1}"
done
بله این دقیقا چیزیه که مدنظر من بود و به خوبی جواب میده.
البته این خط رو هم به آخر اسکریپت اضافه کردم که بعد از تموم شدن کار کپی، کاراکترهای خط قبلش رو کامل پاک کنه:
echo -en "\033[1K\r"
پ.ن 1: برای اینکار که می خواین انجام بدین ( progress bar در کپی فایل) راه های بهتری هم وجود داره مثلا استفاده از rsync و pv و dd و ...
که می تونین از اونا استفاده کنین.
pv و bar رو امتحان کردم ولی واسه من کار نمی کردن. pv نوارش ثابت بود و هیچ حرکتی نداشت. فقط تونستم از تایمرش استفاده کنم، که به درد کار من نمی خورد.
rsync و dd رو هم حتما امتحان می کنم. گزینه های خوبین. توی سایت های دیگه هم زیاد پیشنهاد شده بودن.
در مورد sleep هم حق با شماست. باید اضافه بشه.
تشکر بسیار زیاد.