2009-03-03 23 views
8

Tôi có một tập tin thực thi như thế này:Làm cách nào để chuyển đối số cho tập lệnh shell?

java temptable %1 %2 

tôi cần những kịch bản shell tương đương cho ở trên. Tôi sẽ chuyển các đối số cho kịch bản lệnh shell và điều đó sẽ được chuyển đến trạng thái cám dỗ.

+0

Dưới đây là một bài báo, Làm thế nào để vượt qua đối số cho một kịch bản shell. Nó bao gồm hầu hết các đối số dòng lệnh [Cách chuyển đối số cho tập lệnh shell] (http://bashscript.blogspot.com/2009/11/how-to-pass-arguments-to-shell-script.html) –

Trả lời

17

Đối với bash (đó là một vỏ, nhưng có lẽ là phổ biến nhất trong thế giới Linux), tương đương là:

java temptable $1 $2 

giả sử không có khoảng trống trong các đối số. Nếu có những khoảng trống, bạn nên trích lập luận của bạn:

java temptable "$1" "$2" 

Bạn cũng có thể làm:

java temptable $* 

hay:

java temptable "[email protected]" 

nếu bạn muốn tất cả các thông số đi qua (một lần nữa, rằng thứ hai tương đương với trích dẫn từng tham số: "$ 1" "$ 2" "$ 3" ...).

+2

tôi sẽ đề nghị trích dẫn các đối số. – jdigital

+0

Xong, cảm ơn, @jd. – paxdiablo

+0

Đó cũng là hợp lệ cho sh và tất cả các vỏ có nguồn gốc, không chỉ bash (AFAIK) –

8
#!/bin/bash 
# Call this script with at least 3 parameters, for example 
# sh scriptname 1 2 3 
echo "first parameter is $1" 
echo "Second parameter is $2" 
echo "Third parameter is $3" 
exit 0 

Output:

[[email protected] ~]# sh parameters.sh 47 9 34 
first parameter is 47 
Second parameter is 9 
Third parameter is 34 
Các vấn đề liên quan