bash - যদি এটি ইতিমধ্যে বিদ্যমান না থাকে তবে একটি ফোল্ডার তৈরি করতে বাশ ব্যবহার করবেন?




folder (4)

আপনি [ এবং ] বন্ধনীর ভিতরে স্পেসগুলি প্রয়োজন:

#!/bin/bash
if [ ! -d /home/mlzboy/b2c2/shared/db ] 
then
    mkdir -p /home/mlzboy/b2c2/shared/db
fi
#!/bin/bash
if [!-d /home/mlzboy/b2c2/shared/db]; then
    mkdir -p /home/mlzboy/b2c2/shared/db;
fi;

এটা কাজ বলে মনে হচ্ছে না। কেউ সাহায্য করতে পারেন?


আমি আপনাকে আপনার কোড একটু বিন্যাস করা উচিত মনে হয়:

#!/bin/bash
if [ ! -d /home/mlzboy/b2c2/shared/db ]; then
    mkdir -p /home/mlzboy/b2c2/shared/db;
fi;

ক্লিনার উপায়, শেল লজিক্যাল অপারেটর শর্টকাট মূল্যায়ন শোষণ। বাম পাশ সত্য হলে শুধুমাত্র অপারেটর ডান দিকে মৃত্যুদন্ড কার্যকর করা হয়।

[ ! -d /home/mlzboy/b2c2/shared/db ] && mkdir -p /home/mlzboy/b2c2/shared/db

প্রথমত, bash "[" শুধুমাত্র একটি কমান্ড, যা একটি শেষ যুক্তি হিসাবে স্ট্রিং "]" প্রত্যাশা করে, তাই বন্ধ বন্ধনী (এবং "!" এবং "-d" এর মধ্যে দুটি পৃথক আর্গুমেন্ট হতে হবে) এর আগে সাদা জায়গা খুব গুরুত্বপূর্ণ)

if [ ! -d /home/mlzboy/b2c2/shared/db ]; then
  mkdir -p /home/mlzboy/b2c2/shared/db;
fi

দ্বিতীয়ত, আপনি mkdir -p সুইচ ব্যবহার করছেন, এই চেকটি নিরর্থক, কারণ এটি প্রথম স্থানে যা করে। শুধু লেখো:

mkdir -p /home/mlzboy/b2c2/shared/db;

এবং এটাই.







folder