লিনাক্স কমান্ড লাইনে কোনও ডিরেক্টরি রয়েছে কিনা তা কীভাবে পরীক্ষা করবেন?


28

লিনাক্স কমান্ড লাইনে কোনও ডিরেক্টরি রয়েছে কিনা তা কীভাবে পরীক্ষা করবেন?

সমাধান: [ -d ¨a¨ ]&&echo ¨exists¨||echo ¨not exists¨


4
সুতরাং এটি সমাধান হিসাবে চিহ্নিত করুন।
ব্লুরাজা - ড্যানি পিফ্লুঘুফুট

উত্তর:


40
$ if test -d /the/dir; then echo "exist"; fi 

আমার এটি কমান্ড লাইনে দরকার, কোনও স্ক্রিপ্টে নয়।

5
তা হ'ল কমান্ড লাইন। আপনি এটি সরাসরি ব্যাশে টাইপ করতে পারেন, বা আপনি এটি আবার চালু করতে পারেন test -d /the/dir: test -d /the/dir && echo "exist" || echo "does not exist"তবে সেগুলি সত্যই একই।
ডেভিড রদ্রিগেজ - 21:38

সবার শাঁস নয় bash!
পুনরায় পোস্টার

@ রিনিয়ারপোস্ট তাহলে আপনার জন্য শুভকামনা ...
স্টেফানো

@ স্টেফানো বোরিনী: আমি এখনও ব্যবহার করি tcshকারণ আমি আমার লেখার পক্ষে খুব অলস .tcshrc। তবে আরও উল্লেখযোগ্য বিষয়: এটি ওপির সমস্যাটি ব্যাখ্যা করতে পারে।
পুনরায় পোস্টার

11

আপনার শেলটি BASH হিসাবে ধরে নেওয়া:

if [ -d /the/dir ]; then echo 'Exists'; else echo 'Not found'; fi

অপ্রত্যাশিত টোকেনের কাছে সিনট্যাক্স ত্রুটি `তারপরে '

তারপরে আপনার শেলটি কী তা নির্ধারণ করুন। সম্ভবত cshবা tcsh?
পুনরায় পোস্টার

8
[ -d /home/bla/ ] && echo "exits"

ডিরেক্টরিটি বিদ্যমান না থাকলেও একটি পাঠ্য প্রদর্শন করার জন্য কি আমার কাছে ELSE এর মতো কিছু থাকতে পারে?

কার্যসংক্রান্ত:[ -d /home/bla/ ] && echo "exist" ; [ ! -d /home/bla/ ] && echo "doesnt exist"
learningloop

7

ক্যানোনিকাল উপায়টি হল পরীক্ষার (1) ইউটিলিটি ব্যবহার করা:

test -d path

যেখানে "পাথ" হ'ল প্রশ্নাবলীর ডিরেক্টরিটির পথের নাম।


কমান্ডটি নিজের দ্বারা করা হচ্ছে না বলে মনে হয় তবে এটি যখন ক এর সাথে যোগ হয় echo "Directory Exists"
এজাজ 21

2

[ -d "YOUR_DIR" ] && echo "is a dir"

উদাহরণ:

[ -d / ] && echo "root dir"

ইচ্ছা আউটপুট: root dir


[-ড: কমান্ডটি পাওয়া যায় নি এটি আমি পেয়েছি

"[" এবং "-" এর মধ্যে একটি স্থান থাকা দরকার। এটি বোর্ন এবং বাশ শেলের উপর কাজ করা উচিত।

0

কোনও শেল স্ক্রিপ্টে ডিরেক্টরি রয়েছে কিনা তা পরীক্ষা করতে আপনি নিম্নলিখিতটি ব্যবহার করতে পারেন:

dir=$1

if [ -d "$dir" ]; then

 #means that $dir exists.

fi

বিপরীতে পরীক্ষা করতে, !আগে যোগ করুন-d ->[ ! -d ....]


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