zsh স্ক্রিপ্টে অচেনা মডিফায়ার পি


0

আমি এই zsh স্ক্রিপ্টটি চালাচ্ছি তবে আমি নিম্নলিখিত ত্রুটি বার্তাটি পেয়েছি:

./executable: unrecognized modifier `P'

স্ক্রিপ্টের কোডটি নিম্নরূপ:

#!/bin/zsh

setopt no_unset err_exit pipe_fail

if [[ $# -lt 2 ]]; then
    cat <<EOF
Usage: ${0:t} something1 something2 ..
EOF
    exit 1
fi

foobar=${argv[1]:P}

আমি বুঝতে পারি যে এই ত্রুটিটি ফুবার অ্যাসাইনমেন্টের সাথে সম্পর্কিত তবে আমি কোথাও এটি খুঁজে পাচ্ছি না যেখানে Pএটির জন্য ব্যবহৃত হয়, বা কেন এটি কার্যকর। কোন ধারনা?



আমি দেখি. ধন্যবাদ। কিন্তু এটা কেন স্বীকৃত /?
FOOBAR

সম্ভবত আপনার zsh পুরানো? সংস্করণটি দেখুন এবং দেখুন যে সংস্করণটির ডক্সগুলিতে অন্তর্ভুক্ত রয়েছে: পি। আমি একটি workaround সঙ্গে উত্তর।
অ্যান্ড্রু ডোমাসেক

এটি কি লিনাক্স zsh এ কাজ করবে তবে ম্যাকোজে নয়?
foobar

:Pপরিবর্তক সংস্করণ 5.3 চালু অপেক্ষাকৃত নতুন হয়। আপনি Zsh এর কোন সংস্করণ ব্যবহার করছেন তা যাচাই করতে পারেন।
জিরোনাথ

উত্তর:


0

সম্ভবত প্রতিস্থাপন চেষ্টা করুন

foobar=$(readlink -f ${argv[1]})

এটি কেবল তখনই কাজ করবে যদি ফাইলটি বিদ্যমান থাকে, যার: পি প্রয়োজন হয় না।


0

:Pপরিবর্তক Zsh মধ্যে যোগ করা হয়েছিল সংস্করণ 5.3 , এবং এইভাবে পুরোনো সংস্করণগুলি মধ্যে অনুপলব্ধ থাকবে। পরিবর্তে পরিবর্তকটি ব্যবহার:A করা একইরকম, তবে একেবারে অভিন্ন নয় ।

থেকে zshexpn(1):

সংশোধক :a

কোনও ফাইলের নামকে পরম পথে পরিণত করুন: বর্তমান ডিরেক্টরিটি পুনরায় সংশোধন করে, প্রয়োজনে; অপসারণ '.' পথ বিভাগ; এবং '..' পাথ বিভাগগুলি এবং সেগমেন্টগুলি সেগুলির সাথে সাথেই পূর্ববর্তী করে সরিয়ে ফেলুন de

সংশোধক :A

'এ' সংশোধক যেমন করেন তেমন একটি ফাইলের নামকে একটি নিখুঁত পথে পরিণত করুন এবং প্রতীকী লিঙ্কগুলি সমাধান করতে রিয়েলপ্যাথ (3) লাইব্রেরি ফাংশনের মাধ্যমে ফলাফলটি পাস করুন।

দ্রষ্টব্য: যে সিস্টেমে রিয়েলপথ (3) লাইব্রেরি ফাংশন নেই, প্রতীকী লিঙ্কগুলি সমাধান করা হয় না, সুতরাং সেই সিস্টেমে 'এ' এবং 'এ' সমতুল্য।

দ্রষ্টব্য: foo: এ এবং রিয়েলপথ (foo) কিছু ইনপুটগুলিতে পৃথক। রিয়েলপথ (ফু) শব্দার্থবিজ্ঞানের জন্য, সংশোধকটি দেখুন P

সংশোধক :P

কোনও ফাইলের নামকে রিয়েলপথের (3) এর মতো একটি পরম পথে পরিণত করুন। ফলস্বরূপ পথটি নিখুঁত হবে, দুটিও নেই '' এবং '..' উপাদানগুলি নয় এবং ইনপুট ফাইলের নামের মতো ডিরেক্টরি ডিরেক্টরিতে প্রবেশ করুন refer

রিয়েলপথ (3) এর বিপরীতে, অস্তিত্বহীন ট্রেলিং উপাদানগুলিকে অনুমোদিত এবং সংরক্ষণ করা হয়।

আমি আরও কিছু বহিরাগত বিবরণ বাদ দিয়েছি, সুতরাং ম্যান পৃষ্ঠাটি পরীক্ষা করতে ভুলবেন না; "ইতিহাস সম্প্রসারণ" বিভাগ, বিভাগ "সংশোধক" "

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.