আমি কীভাবে কীভাবে ব্যবহার করতে হয় তা শিখার চেষ্টা করছি যাতে পার্সড ইনপুট সহ আমার স্ক্রিপ্টগুলি থাকতে পারে (যদিও আমি মনে করি যে আরও উন্নততর হতে পারে)। পার্টিশন ব্যবহারের শতাংশের শতাংশ ফিরিয়ে দেওয়ার জন্য আমি একটি সাধারণ স্ক্রিপ্ট লিখতে চেষ্টা করছি। সমস্যাটি হ'ল আমার বাশ ফাংশনগুলির একটির মতো মনে হয় না যে আমি $1
ফাংশনটির মধ্যে পরিবর্তনশীল হিসাবে উল্লেখ করেছি । আমি উল্লেখ করার কারণটি $1
হ'ল কারণ get_percent
ফাংশনটি মাউন্ট পয়েন্টগুলির পরিবর্তে displayচ্ছিক আর্গুমেন্ট হিসাবে প্রদর্শিত হতে পারে।
এই পান্ডুলিপি
#!/usr/bin/bash
set -e
set -u
set -o pipefail
get_percent(){
if [ -n "$1" ]
then
df -h $1 | tail -n +2 | awk '{ print $1,"\t",$5 }'
else
df -h | tail -n +2 | awk '{ print $1,"\t",$5 }'
fi
}
usage(){
echo "script usage: $(basename $0) [-h] [-p] [-m mount_point]" >&2
}
# If the user doesn't supply any arguments, we run the script as normal
if [ $# -eq 0 ];
then
get_percent
exit 0
fi
# ...
আউটপুট
$ bash thing.sh
thing.sh: line 8: $1: unbound variable
$ bash -x thing.sh
+ set -e
+ set -u
+ set -o pipefail
+ '[' 0 -eq 0 ']'
+ get_percent
thing.sh: line 8: $1: unbound variable
getopts
, তাই না?-u
কল করার আগে আপনার স্ক্রিপ্টটি প্রস্থান করেgetopts
।