নীচে আমার উদাহরণের মতো কিছু করে এমন একটি মানক ইউনিক্স কমান্ড রয়েছে কি?
$ <cmd here> 56
$ echo Return code was $?
Return code was 56
$
<cmd here>
প্রক্রিয়াটি যখন প্রস্থান হয় তখন এমন কিছু হতে হবে যা কাঁটাচামচা ছাড়াই পারে এবং প্রস্থান কোড হিসাবে 56 টি ছেড়ে যায় leaves আমি exit
এবং return
শেল বিল্টইনগুলি আমি যা খুঁজছি তার জন্য অনুপযুক্ত কারণ তারা আগমনকারী শেলটি এ থেকে বেরিয়ে এসে নিজেকে প্রভাবিত করে। <some cmd>
এমন কিছু হওয়া উচিত যা আমি শেলবিহীন প্রসঙ্গে যেমন সম্পাদন করতে পারি - যেমন, পাইথন স্ক্রিপ্টের সাহায্যে subprocess
।
উদাহরণস্বরূপ, /usr/bin/false
সর্বদা রিটার্ন কোড 1 সহ তাত্ক্ষণিকভাবে প্রস্থান করে তবে আমি ফিরে আসা কোডটি ঠিক কী তা নিয়ন্ত্রণ করতে চাই। আমি আমার নিজের র্যাপার স্ক্রিপ্ট লিখে একই ফলাফল অর্জন করতে পারি
$ cat my-wrapper-script.sh # i.e., <some cmd> = ./my-wrapper-script.sh
#!/usr/bin/bash
exit $1
$ ./my-wrapper-script.sh 56
$ echo $?
56
তবে আমি আশা করছি এমন একটি স্ট্যান্ডার্ড ইউনিক্স কমান্ড রয়েছে যা আমার জন্য এটি করতে পারে।
(exit 56)
?
true
এবং false
বিল্ট-ইন আপনি 0 বা 1. ফিরে যাওয়ার প্রয়োজন
exit
আমি কেবল ভাবতে পারি তবে এটি আপনার শেলটি শেষ করে endbash -c 'exit 56'
বাbash -c "exit $1"
আপনার জন্য কাজ করতে পারে।