সম্পাদনা:
মধ্যে কাজ মনে হচ্ছে bash
। সমস্যাটি সম্পর্কিত বলে মনে হয় zsh
। এই সমস্যাটি পোস্ট করার জন্য যদি আরও ভাল সাইট থাকে তবে আমাকে জানান।
আমি একটি সাধারণ স্ক্রিপ্ট লিখছি যা ডিরেক্টরিগুলির একটি সিরিজ তৈরি করে। আমি চাই যে ব্যবহারকারী এটি করার আগে একটি নিশ্চিতকরণ দিন। আমি নীচে ভিত্তি করে নিম্নলিখিতটি ব্যবহার করছি, তবে এটি কোনও ব্যাশ ফাংশনের মধ্যেই চালিত হবে বলে মনে হচ্ছে না। যদি আমি এটি কোনও ফাংশনের বাইরে রাখি তবে এটি ঠিকঠাক কাজ করে। এখানে একটি বিচ্ছিন্ন উদাহরণ:
read.sh
#!/bin/bash
test() {
read -p "Here be dragons. Continue?" -n 1 -r
if [[ $REPLY =~ ^[Yy]$ ]]
then
echo "You asked for it..."
fi
}
এই এসও পোস্ট থেকে কোড ।
ফাইল এবং / অথবা গুন test
নিম্নলিখিত ত্রুটির মধ্যে ফলাফল: read:1: -p: no coprocess
। আমি যখন এটি রাখি তখন একই আউটপুট.bashrc
সম্পাদনা :
@hennes
- আমি ফাংশনটি একটি কনফিগার ফাইলে থাকতে চাই, তাই যেকোন ডিরেক্টরি থেকে আমি এটিকে কল করতে পারি (আদর্শভাবে আমার .bashrc বা .zshrc)
- আমি প্রথম মন্তব্য করা লাইনের বিন্যাস সংশোধন করেছি। সমস্যাটি এখনও রয়েছে
zsh
- বাশ সংস্করণটি ৩.২, তবে আপনি আমাকে বুঝতে সাহায্য করেছেন যে সমস্যাটি zsh এর সাথে আছে, বাশ নয়।
zsh
তবে ভাবিনি যে ব্যাশ স্ক্রিপ্টগুলির সাথে দ্বন্দ্ব হবে (আমার কাছে আরও বেশ কয়েকটি অনুরূপ স্ক্রিপ্ট রয়েছে যা ঠিক আছে)। আমি এটিকে পিছনে ফেলেছি এবং আপনার প্রশ্নের জবাব দিয়েছি। আমাকে সঠিক দিকে নির্দেশ করার জন্য ধন্যবাদ!
./read.sh
। এটির প্রয়োজন হয় না আপনি এটি অন্য কোনও উপায়ে চালান বা আপনি এটি একটি স্টার্টআপ স্ক্রিপ্টে রাখলে। এবং আপনি যদি এটি zsh এ `zsh ./read.sh 'দিয়ে চালাতে চান তবে একটি # দিয়ে শুরু হওয়া লাইনগুলি উপেক্ষা করা হবে। এগুলি এহেতু বিভ্রান্ত হয় যেহেতু তারা এই ধারণা দেয় যে আপনি জ্যাশ ব্যবহার করার সময় আপনি ব্যাশ ব্যবহার করেন)।
#! /bin/bash
সে শেবাংয়ের পিছনে একটি জায়গা আছে? আমি ভেবেছিলাম তাদের অনুমতি দেওয়া হয়নি? 3) '#! / Usr / bin / env বাশ' সম্ভবত আরও ভাল। 4) কোন বাশ সংস্করণ? (আমি ফ্রিবিএসডি-তে 4.1.10 বাশ দিয়ে পরীক্ষা করেছি এবং কোনও ত্রুটি পাইনি)