2012-03-04 27 views
7
#!/bin/bash 
file=debian.deb 
test=basename $file .deb 
DP="blah/blah/$test/$test.php" 
read -p "[$DP]: " DPREPLY 
DPREPLY=${DPREPLY:-$DP} 
echo "Blah is set to $DPREPLY" 
echo $DPREPLY>>testfile 

Vì vậy, những gì tôi đang cố gắng làm là đặt thử nghiệm biến từ tệp biến và sử dụng nó trong tệp kiểm tra tệp.Làm cách nào để đặt tên cơ sở vào biến?

Trả lời

21

Sử dụng lệnh thay $(...) cơ chế:

test=$(basename "$file" .deb) 

Bạn cũng có thể sử dụng backquotes, nhưng đây là những không được khuyến khích trong các kịch bản hiện đại (chủ yếu là vì họ không làm tổ cũng như $(...) ký hiệu).

test=`basename "$file" .deb` 

Bạn cần biết về backquotes để diễn giải các tập lệnh của người khác; bạn không nên tự mình sử dụng chúng.

Lưu ý việc sử dụng dấu ngoặc kép quanh "$file"; điều này đảm bảo rằng các khoảng trống trong tên tệp được xử lý chính xác.

+0

Cảm ơn Bạn đã làm việc! – Intecpsp

Các vấn đề liên quan