if
আমার বাশ স্ক্রিপ্টে আমার একটি আছে যা যাচাই করে দেখতে হবে যে 2 টি ফাইলের EITHER উপস্থিত রয়েছে কিনা, যদি সেগুলি না থাকে তবে এটি মেলানো উচিত।
আমার কাছে কোডটি রয়েছে:
if [[ ! -f /etc/benchmarking/code ]] && [[ ! -f /etc/benchmarking/code.class ]]; then
echo "match"
fi
তবে এটি কোনও কারণে কাজ করছে বলে মনে হয় না।
আমি ১১০% নিশ্চিত যে এই 2 টি ফাইলের অস্তিত্ব নেই। আমি কোনও ত্রুটি পাই না, এটি কেবল প্রবেশ করে না if
।
আমি স্ক্রিপ্টিংকে বাশ করতে নতুন তাই আমি কী জানি ভুল হতে পারে তা নিশ্চিত নই।
[[ -f xxx ]]
এক্সএক্সএক্সএক্স উপস্থিত থাকলে এবং এটি নিয়মিত ফাইল (বা একটি নিয়মিত ফাইলে একটি সিমলিংক) হলে সত্যটি ফিরে আসে । এটি উপস্থিত না থাকলে এটি মিথ্যা প্রত্যাবর্তন করবে বা এটি উপস্থিত থাকতে পারে বা না থাকলে বা এটি উপস্থিত থাকলে তা জানাতে পারে না তবে এটি কোনও নিয়মিত ফাইল নয় (ডিরেক্টরি, পাইপ, ডিভাইস, সকেট ...) বা এটি যদি একটি সিমলিংক থাকে কোনও ফাইল নেই যা বিদ্যমান নেই বা এটি বলতে পারে না এটি বিদ্যমান কিনা বা নেই বা নিয়মিত ফাইল নয় ... [[ -e $file ]] || [[ -L $file ]]
অস্তিত্বের জন্য পরীক্ষার কাছাকাছি। ls -d -- "$file" > /dev/null 2>&1
আরও কাছাকাছি। এবং একটি নিয়ম হিসাবে, এই জাতীয় পরীক্ষা জাতিগত অবস্থার দিকে পরিচালিত করে। হতে পারে অন্য উপায় আছে।
[[ ! -f /etc/.../... ]]; echo $?
প্রত্যেকের জন্য।