উত্তর:
দুটি ডিরেক্টরি বা ফাইল একই ফাইল সিস্টেমের ( https://unix.stackexchange.com/ ) অন্তর্ভুক্ত কিনা তা যাচাইয়ের উপর ভিত্তি করে :
লিনাক্সের শেল স্ক্রিপ্টে এটি স্ট্যাট দিয়ে করা যেতে পারে :
stat -c "%d" /path # returns the decimal device number
তাই আপনি যা করতে পারেন:
file1=$(stat -c "%d" /path/file1)
file2=$(stat -c "%d" /path/file2)
এবং তারপরে তুলনা করুন।
আপনি এটিও লিখতে পারেন:
if [ $(stat -c "%d" /path/file1) -eq $(stat -c "%d" /path/file1) ]
then
# mv sentence
fi
অন্য বিকল্প। স্ট্যাকেক্সচেঞ্জ প্রশ্ন থেকে নেওয়া :
if [[ $(df -P /path/file1 | tail -1) = $(df -P /path/file2 | tail -1) ]]
then
# echo "same filesystem"
# mv sentence
fi
$(...)
পরিবর্তে ব্যবহার করুন `...`
। পরবর্তীটি পূর্বের পক্ষে অবমূল্যায়ন করা হয়।
stat
আমাকে বলে যে এটি কখনও কখনও কৌশলযুক্ত, কমপক্ষে সানোএসের সাথে। তবে লিনাক্স হওয়ায় আশা করি এটি সামঞ্জস্যপূর্ণ। আমার উবুন্টু 12 এর সাথে এটি ঠিক আছে।
%d
বিভিন্ন ডায়ারের জন্য আলাদা মানগুলি দেয় (একই বিভাজন এমনকি) আপনার /
এবং/tmp