উত্তর:
link=/var/opt/foo
target=$(readlink "$link")
$target
ফাইল লিস্টে যেমন সংরক্ষণ করা হয়েছিল ঠিক তেমনই এখন লিঙ্কটির লক্ষ্য।
সিমলিংকগুলি আপেক্ষিক হতে পারে, তবে এটি সাধারণ ব্যবহারের জন্য ভাল:
target=$(readlink -f "$link")
নোট করুন যে এটি readlink
GNU Coreutils থেকে ব্যবহার করে, যা বিএসডি এবং অন্যান্য সিস্টেমে থাকতে পারে না।
সম্পাদনা: readlink -f
বিএসডিগুলিতে কাজ করে, যতক্ষণ লিঙ্ক লক্ষ্য বিদ্যমান থাকে। realpath
অন্যটি, BSD- কেবল, এমন একটি সরঞ্জাম যা একইভাবে কাজ করে।
-f
এবং readlink -f
এটিও ঠিক কাজ করে (ধরে নিচ্ছে লিঙ্ক লক্ষ্য উপস্থিত রয়েছে)। বিএসডি-তে, এর realpath
আরেকটি বিকল্প বলে মনে হয় readlink -m
।
readlink()
দিন থেকে বিএসডিগুলির একটি সিস্টেম কল ছিল । বর্তমান বিএসডি'রreadlink
ইউটিলিটি ফ্রিবিএসডি ৪.১০ সহ প্রকাশিত হয়েছিল। এটি (পুনরায়)stat
কমান্ডের জন্য শক্ত লিঙ্ক হিসাবে প্রয়োগ করা হয়েছিল ( ম্যাকোস এক্স ম্যানুয়াল পৃষ্ঠা ফ্রিবিএসডি 9 ম্যানুয়াল পৃষ্ঠা )। লক্ষ্য করুন এটির কোনও-m
বিকল্প নেই।