2011-01-10 17 views
13

हैलो मैं एक साधारण खोल स्क्रिप्ट चाहता हूं जो फ़ाइल के दिए गए पथ से फ़ाइल का नाम ढूंढ ले।शेल स्क्रिप्ट अपने पथ से फ़ाइल नाम खोजने के लिए

$path = "/var/www/html/test.php"; 

तो मैं कुछ चर में मूल्य "परीक्षण" प्राप्त करना चाहता हूं। इसके अलावा केवल .php फ़ाइलें मौजूद हैं। मैं बैश खोल का उपयोग कर रहा हूं। धन्यवाद

उत्तर

31

प्रयास करें:

path="/var/www/html/test.php" 
name=$(basename "$path" ".php") 
echo "$name" 

उद्धरण समस्याओं को रोकने के लिए जब $path रिक्ति केवल देखते हैं।

16

यूनिक्स कमांड में बनाया का उपयोग करें:

basename "/var/www/html/test.php" 
+0

में इसके लिए धन्यवाद है! –

1
string="/var/www/html/test.php" 

oIFS="$IFS"; IFS='/' 
set -A str $string 
IFS="$oIFS" 

echo "strings count = ${#str[@]}" 
len=${#str[@]} 
pos=`expr $len - 1` 
echo "file : ${str[$pos]}"; 

आउटपुट

strings count = 4 
file : test.php 
2

उपयोग basename() फ़ंक्शन। यह यूनिक्स फ़ंक्शन

संबंधित मुद्दे