2009-09-25 27 views

Trả lời

11

Vâng, nó:

var=${var:-10} 

Ngay cả với biến khác:

unset var 
export def=99 
echo ${var:-${def}} # gives '99' 
export var=7 
echo ${var:-${def}} # gives '7' 
+0

hoàn hảo! Chính xác những gì tôi đang tìm kiếm. Cần phải sử dụng * các biến * khác để chắc chắn. –

+0

Nói đúng cách, 'xuất 'không cần thiết ở đây. –

6

Có!

Từ trang người đàn ông:

${parameter:-word} 
     Use Default Values. If parameter is unset or null, the expansion of word 
     is substituted. Otherwise, the value of parameter is substituted. 
${parameter:=word} 
     Assign Default Values. If parameter is unset or null, the expansion of word 
     is assigned to parameter. The value of parameter is then substituted. 
     Positional parameters and special parameters may not be assigned to in this way. 
${parameter:?word} 
     Display Error if Null or Unset. If parameter is null or unset, the expansion of word (or a message to 
     that effect if word is not present) is written to the standard error and the shell, if it is not inter‐ 
     active, exits. Otherwise, the value of parameter is substituted. 
${parameter:+word} 
     Use Alternate Value. If parameter is null or unset, nothing is substituted, otherwise the expansion of 
     word is substituted. 
2
$ default=10 
$ var=${var:-$default} 
$ echo $var 
10 
$ var=9 
$ var=${var:-$default} 
$ echo $var 
9 
+0

đặt chính xác điều này: http://bash.pastebin.com/f4e14cd53 vào một tệp và thực thi nó không có gì liên quan đến cửa sổ bảng điều khiển. –

+0

Tôi phải làm điều gì đó sai, điều đó thực sự làm việc –

+0

btw, câu trả lời của bạn cũng tuyệt vời! Tôi chỉ thích các dấu ngoặc phụ;) –

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