मेरे पास डेबियन निचोड़ है amd64। मेरा वर्तमान शेल बैश है। यदि मैं अपने टर्मिनल में निम्नलिखित लिखता हूं, तो यह काम करता है:
$ uname -a
Linux core 2.6.32-5-amd64 #1 SMP Fri May 10 08:43:19 UTC 2013 x86_64 GNU/Linux
$ echo $SHELL
/bin/bash
$ echo $(realpath test.sh)
/home/ffortier/test.sh
मेरी test.sh फ़ाइल इस प्रकार है:
#!/bin/bash
echo $(realpath "$1")
यदि मैं निम्नलिखित को निष्पादित करने का प्रयास करता हूं, तो मुझे एक त्रुटि मिलती है
$ ./test.sh test.sh
./test.sh: line 2: realpath: command not found
मैं bash फ़ाइल के भीतर realpath कमांड का उपयोग कैसे कर सकता हूं?
अतिरिक्त जानकारी
$ type -a realpath
realpath is a function
realpath ()
{
f=$@;
if [ -d "$f" ]; then
base="";
dir="$f";
else
base="/$(basename "$f")";
dir=$(dirname "$f");
fi;
dir=$(cd "$dir" && /bin/pwd);
echo "$dir$base"
}