নীচের ফাংশনটি ভার্ভোসলি mv
সিনট্যাক্স পরীক্ষা করার জন্য । দ্রষ্টব্য, এটি কেবলমাত্র 2 টি আর্গুমেন্ট, SOURCE এবং DESTINATION এর জন্য কাজ করে এবং -t
পতাকাটি পরীক্ষা করে না ।
ফাংশন স্থাপন করা হয় ~/.bashrc
। এটি অবিলম্বে ব্যবহার করতে, নতুন টার্মিনাল খুলুন বা চালানsource ~/.bashrc
mv_check()
{
# Function for checking syntax of mv command
# sort of verbose dry run
# NOTE !!! this doesn't support the -t flag
# maybe it will in future (?)
# check number of arguments
if [ $# -ne 2 ]; then
echo "<<< ERROR: must have 2 arguments , but $# given "
return 1
fi
# check if source item exist
if ! readlink -e "$1" > /dev/null
then
echo "<<< ERROR: " "$item" " doesn't exist"
return 1
fi
# check where file goes
if [ -d "$2" ]
then
echo "Moving " "$1" " into " "$2" " directory"
else
echo "Renaming " "$1" " to " "$2"
fi
}
এখানে কিছু পরীক্ষা চলছে:
$> mv_check TEST_FILE1 bin/python
Moving TEST_FILE1 into bin/python directory
$> mv_check TEST_FILE1 TEST_FILE2
Renaming TEST_FILE1 to TEST_FILE2
$> mv_check TEST_FILE1 TEST_FILE 2
<<< ERROR: must have 2 arguments , but 3 given
$> mv_check TEST_FILE1 TEST_FILE\ 2
Renaming TEST_FILE1 to TEST_FILE 2
$> mv_check TEST_FILE1 "TEST_FILE 2"
Renaming TEST_FILE1 to TEST_FILE 2
$> mv_check TEST_FILE1
<<< ERROR: must have 2 arguments , but 1 given
man mv
আমি শুধু দেখতে পারেন-i
-flag, যা overwrite করার আগে জিজ্ঞেস