কোনও ফাইল (স্ক্রিপ্টের আর্গুমেন্ট হিসাবে পাস করা) .iso টাইপের কিনা তা পরীক্ষা করুন


0

আমি এমন একটি স্ক্রিপ্টে কাজ করছি যাতে 2 টি আর্গুমেন্ট লাগে। প্রথমটি হল আইসো ফাইলের পথে এবং দ্বিতীয়টি হল আইসো নাম। ফাইলটি .iso টাইপ এবং অন্য ধরণের ফাইল নয় কিনা তা আমি কীভাবে পরীক্ষা করতে পারি?


2
হ্যালো এবং উবুন্টুকে জিজ্ঞাসা করুন! উবুন্টুকে জিজ্ঞাসা করুন কীভাবে সেরা ব্যবহার করবেন সে সম্পর্কে ধারণা পেতে আপনি আমাদের সফরটি একবার দেখে নিন recommend তদ্ব্যতীত, দয়া করে কীভাবে জিজ্ঞাসা করবেন এবং কীভাবে উত্তর দিন সেগুলি প্রশ্নের উত্তর লিখতে এবং উত্তর দেওয়ার জন্য দুর্দান্ত কিছু টিপস পেতে!
কাজ ওল্ফ

উত্তর:


5

আপনি fileআদেশটি চান :

% file ubuntu-16.04.2-desktop-amd64.iso 
ubuntu-16.04.2-desktop-amd64.iso: DOS/MBR boot sector ISO 9660 CD-ROM filesystem data (DOS/MBR boot sector) 'Ubuntu 16.04.2 LTS amd64' (bootable); partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 14432, 4864 sectors

বিশেষভাবে --mime-typeএবং --brief( -b) পতাকাগুলি একবার দেখুন:

% file -b --mime-type ubuntu-16.04.2-desktop-amd64.iso
application/x-iso9660-image

তারপরে আপনি কমান্ডের grepআউটপুট পার্স করার জন্য ব্যবহার করতে বা অনুরূপ করতে পারেন fileএবং তারপরে স্থিতি কোডটি পড়তে পারেন:

% file -b --mime-type ubuntu-16.04.2-desktop-amd64.iso | grep -q iso; echo $?
0
% file -b --mime-type wolf1.png | grep -q iso; echo $?
1

আপনি যদি এটি কোনও স্ক্রিপ্টে ব্যবহার করতে চান ( $1ফাইলটি কোথায় পাস হয়েছে, বন্ধনীগুলির অভাবটি নোট করুন ):

#!/bin/bash

if file -b --mime-type $1 | grep -q iso; then
    echo "Is ISO"
else
    echo "Is not ISO"
fi

উদাহরণ:

% ./x.sh ubuntu-16.04.2-desktop-amd64.iso
Is ISO
% ./x.sh wolf1.png 
Is not ISO

ফলাফল কীভাবে ব্যবহার করতে হয় তা আমি জানি না। আমি চাই যদি আমার ফাইলটি কোনও বার্তা দেখানোর জন্য না হয় ..
Necula Horaţiu

আপনি যদি এটির জন্য একটি বিবৃতি ব্যবহার করতে পারেন । echoকোনও বার্তা প্রেরণের জন্য ব্যবহার করুন এবং তারপরে একটি শূন্য নয় স্থিতি কোড সহ প্রস্থান করুন।
কাজ ওল্ফ

আমি একটি if ব্যবহার করেছি, এটির মতো: যদি [ফাইল-বি - মাইম-টাইপ $ 1 | গ্রেপ-কি আইসো == 1] প্রতিধ্বনি "আইসো নয়"; প্রস্থান 2। তবে এটি কাজ করে না
Necula Horaţiu

হতে হবেif [ $(file -b --mime-type wolf1.png | grep -q iso) -eq 1 ]; then echo "isn't iso"; exit 2; fi
derHugo

@ ওডারহুগো না, এটি হওয়া উচিতif file -b --mime-type wolf1.png | grep -q iso; then echo "is iso"; else echo "is not iso"; exit 2; fi
wjandrea
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.