আমি যখনই আমার মেশিনের আলাদা ডিরেক্টরিতে সিডি করেছি (এই ক্ষেত্রে ম্যাক ওএস এক্স ১০.'. running চালাচ্ছি) কমান্ড লাইনের মাধ্যমে (যা বাশ), আমি অবিলম্বে বিষয়বস্তুর তালিকা পেতে 'ls' টাইপ করি ডিরেক্টরিতে। আমি 'সিডি' ওভাররাইড করার একটি উপায় বের করার চেষ্টা করছি যাতে এটি অনুরোধ করা ডিরেক্টরিতে পরিবর্তিত হয় এবং তারপরে আমাকে একটি শটে তালিকা দেয়।
নীচের লাইনটি আমার ~ / .bash_profile এ যুক্ত করে কাজ করার জন্য যে বেসিক কার্যকারিতাটি আমি খুঁজছি তা পেতে সক্ষম হয়েছি
function cl() { cd "$@"; ls -l; }
এটি প্রত্যাশার মতো কাজ করে। অনুরোধ করা ডিরেক্টরিতে পরিবর্তন করা এবং তারপরে আমাকে সামগ্রীগুলি দেখানো। আমি যেখানে কোনও ইস্যুতে চলেছি সেখানে একটি নতুন "সিএল" কমান্ড তৈরি না করে "সিডি" নিজেই ওভাররাইড করার চেষ্টা করছে।
নিম্নোক্ত না কাজ
##### Attempt 1 #####
# Hangs the command line
function cd() { cd "$@"; ls -l; }
##### Attempt 2 #####
# Hangs the command line
function cd() { 'cd' "$@"; ls -l; }
##### Attempt 3 #####
# Does not change directory.
# Does list contents, but of the directory where you started.
function cd() { /usr/bin/cd "$@"; ls -l; }
#### Other attempts that fail in various ways #####
alias cd=cd "$@"; ls -la;
alias cd="cd '$@'; ls -la;"
alias cd='cd "$@"'; ls -la;
alias cd=/usr/bin/cd "$@"; ls -la;
আমি আরও কয়েকটি পুনরুক্তিও চেষ্টা করেছি যা তালিকাভুক্ত নয় পাশাপাশি একটি উপকরণ তৈরি করে যা কার্যকরী 'সিএল' ফাংশনটিকে নির্দেশ করে। যার কোনটিই কাজ করেনি।
ডকুমেন্টেশনে আমি যা পড়েছি তা এই বিষয়ে কথা বলে যে 'সিডি' বাহ্যিক কমান্ড হিসাবে চালানো যায় না (যা আমি বুঝতে পারি যে এটির ফাংশনটি যেভাবে ব্যবহার করা প্রয়োজন তা)।
সুতরাং, আমি বর্তমানে আমার "সিএল" কমান্ডটি ব্যবহার করতে পারি এবং যা চাই তা পেতে পারি, তবে প্রশ্নটি অবশেষ / অবশেষ:
অনুরোধ করা ডিরেক্টরিতে এটি পরিবর্তন করে তারপরে আর কিছু করার জন্য 'সিডি' এর আচরণকে ওভাররাইড করার কোনও উপায় আছে কি?