2012-10-18 49 views
1

嗨我是shell腳本的新手。我想將一個參數傳遞給一個shell腳本。我知道該怎麼做了same.I寫了一個簡單的shell腳本傳遞參數時在shell腳本中使用大括號

#!/bin/bash 
parameter=$1 
whatispased=${parameter:-"nothing"} 
echo $whatispassed 

如果有什麼作爲第一個參數傳遞,這是印否則「無」被打印出來。我看過一些人在寫作。

parameter=${1,,} 

我試圖用上面的代碼替換第一行,但我得到一個錯誤的替換錯誤。任何幫助表示讚賞。

+0

保存自己的煩惱,並使用很多引號來生存很多角色。 whatspased =「$ {1: - 」nothing「}」; echo「$ whatispassed」; – Gilbert

+0

我只是想確認第二種格式實際上在新版本的bash中做什麼 – parameswar

+0

,它將參數轉換爲小寫。剛剛經歷了bash 4.0的功能。感謝支持,雖然 – parameswar

回答

2

首先,你可以將此減少到:

#!/bin/bash 
whatispassed=${1:-"nothing"} 
echo $whatispassed 

甚至:

#!/bin/bash 
echo ${1:-"nothing"} 

對於${parameter,,pattern}直視Shell Parameter Expansion

更多關於bash或shell腳本,看到info:bashhttps://stackoverflow.com/q/6798269/1741542

+0

實際上在新版本的bash中,它將參數轉換爲小寫。剛剛通過bash 4.0的功能,明白了,謝謝你的支持。 – parameswar

+0

是否有任何幫助理解上述類型的bash腳本的書我對此有點新穎 –

+0

@RegisteredUser請參閱更新的答案。 –

相關問題