এই স্ক্রিপ্টটি ব্যবহার করে tree...
sudo apt-get install tree
আপনি পরিবর্তন করে ডিরেক্টরিগুলির গভীরতা পরিবর্তন -L 1
করতে পারেন এবং আপনি ব্যবহার করতে হবে কি না তা চয়ন করতে পারেন ~/...
আপডেট 2 :
.. কেবলমাত্র একটি শীর্ষস্থানীয় / হোম / ব্যবহারকারী / ("কোনও" নয়) প্রতিস্থাপনের জন্য স্ক্রিপ্টটি পরিবর্তন করেছে
.. এবং যুক্ত করা যুক্তিগুলি ..
আপডেট চেক করা হয়েছে: ..পথের মধ্যে এটি ইতিমধ্যে পাঠ্যপথের মধ্যে থাকা অবস্থায় ডিরেক্টরিতে ডিরেক্টরি যুক্ত করবেন না .. এই চেকটি '~ /' এবং '/ হোম / ব্যবহারকারী /' কে আলাদা বলে বিবেচনা করে।
আপনার প্রশ্ন 1 আবার ... হ্যাঁ এটি সত্য; প্রতিটি নির্দিষ্ট ডিরেক্টরি অবশ্যই পৃথক পৃথকভাবে পাঠাতে হবে ..
আপনার প্রশ্ন 2 পুনরায় ... এখানে একটি স্ক্রিপ্ট যা আপনি যা চান তা করবে ..
আমি এটি পরীক্ষা করেছি, তবে এটি যেমন দাঁড়িয়েছে এটি বর্তমান অধিবেশনটির জন্য নতুন প্যাথ
তৈরি করবে .. এটি স্থায়ী করার জন্য আপনি ব্যবহার করতে পারবেন export PATH(তবে আমি এর বিবরণে কিছুটা স্কেচি করছি export)
#
# name: path-add-dirs
# eg: $ path-add-dirs "$HOME/bin" "tilde" 1
# When directories are $HOME based, choose format.
# Add directories in tidle format: ~/...
# ...or as fullly-qualified: /home/user/...
# mode values: "tilde", or anything else for fully-qualified
mode="$2" # valid mode values: "tilde", or anything else
maindir="$1"; dirs= ; echo
# Buld string of subdirectories to a depth/level of 1
while IFS= read -r dir ; do
# Don't add directory if it is already in PATH
if [[ "$mode" == "tilde" ]] ; then
# replace only a *leading* :/home/user/
homecheck=":$dir"
dircheck="${homecheck/:$HOME\//:~/}"
dircheck="${dircheck#:}"
else
dircheck="${dir}"
fi;
pathcheck=":$PATH:"
if [[ "$pathcheck" != "${pathcheck/:$dircheck:/}" ]] ; then
echo "ALREADY IN PATH: $dircheck"
else
dirs="$dirs:$dir"
echo " added: $dircheck"
fi
done < <(tree --noreport -L $3 -fi -d "$maindir")
# Choose one of these two options
if [[ "$mode" == "tilde" ]]
then PATH="$PATH${dirs//:$HOME\//:~/}" # change :$HOME to :~/
else PATH="$PATH$dirs" # this method has fully expanded $HOME
fi
echo
echo "$PATH"
echo