set -x
ভার্বোজ / ডিবাগ আউটপুট সহ আমার একটি শেল স্ক্রিপ্ট রয়েছে :
#!/bin/bash
set -x
command1
command2
...
আউটপুটটি দেখতে এটির মতো দেখাচ্ছে:
+ command1
whatever output from command1
+ command2
whatever output from command2
আমার সমস্যা হচ্ছে, শেল আউটপুট (দ্বারা সৃষ্ট set -x
) দ্বারা stderr, কম্যান্ডের আউটপুট (সঙ্গে মিশ্রিত করা যায় command1
, command2
, ...)। আমি স্ক্রিনে "স্বাভাবিক" আউটপুট (স্ক্রিপ্ট ওয়াইড ছাড়াই চালানো যেমন set -x
) এবং বাশের "অতিরিক্ত" আউটপুট আলাদাভাবে কোনও ফাইলে পেয়ে খুশি হব ।
সুতরাং আমি এটি পর্দায় রাখতে চাই:
whatever output from command1
whatever output from command2
এবং এটি একটি লগ ফাইলে:
+ command1
+ command2
(লগ ফাইলের সাথে একসাথে সমস্ত কিছু থাকে তবে ঠিক আছে)
set -x 2> file
স্পষ্টত doens't, ডান প্রভাবী কারণ এটি সেট কমান্ডের আউটপুট নয়, কিন্তু এটি ব্যাশ আচরণ পরিবর্তন।
bash 2> file
পুরো স্ক্রিপ্টের জন্য ব্যবহার করাও সঠিক কাজ করে না, কারণ এটি প্রতিটি কমান্ডের স্টাডারকে পুনর্নির্দেশ করে যা এই শেলটিতে চালিত হয়, সুতরাং আমি কমান্ডগুলির ত্রুটি বার্তাটি দেখতে পাচ্ছি না।