আমার বাশ স্ক্রিপ্টে আমার একটি পরিবর্তনশীল আছে যার মান এইরকম:
~/a/b/c
মনে রাখবেন এটি তিলদে অপরিবর্তিত। আমি যখন এই ভেরিয়েবলটির উপর ls -lt করি (এটিকে $ VAR কল করুন), আমি এই জাতীয় ডিরেক্টরি পাই না। আমি বাশকে এই পরিবর্তনশীলটি কার্যকর না করেই ব্যাখ্যা / প্রসারিত করতে চাই। অন্য কথায়, আমি বাশকে ইভাল চালাতে চাই তবে মূল্যায়িত কমান্ডটি চালাতে চাই না। ব্যাশে এটা কি সম্ভব?
আমি কীভাবে এটিকে আমার স্ক্রিপ্টে ছাড়িয়ে না দিয়ে পরিচালনা করেছি? আমি দ্বিগুণ উদ্ধৃতি দিয়ে চারপাশে যুক্তিটি পাস করেছি।
আমার অর্থটি বোঝার জন্য এই আদেশটি ব্যবহার করে দেখুন:
ls -lt "~"
আমি ঠিক ঠিক এই অবস্থাতেই আছি I টিল্ডটি আরও প্রসারিত করতে চাই। অন্য কথায়, এই দুটি কমান্ডকে অভিন্ন করার জন্য আমার যাদুতে কী প্রতিস্থাপন করা উচিত:
ls -lt ~/abc/def/ghi
এবং
ls -lt $(magic "~/abc/def/ghi")
নোট করুন যে ~ / abc / def / ghi থাকতে পারে বা থাকতে পারে না।
foo=~/"$filepath"
বাfoo="$HOME/$filepath"
dir="$(readlink -f "$dir")"
eval
।