對不起,如果這是措辭不佳,因爲我是新的shell腳本。在bash中傳遞參數如unix date命令
我想寫一個腳本,我想採取像unix date命令這樣的參數。
例子:
$ date '+%I:%M %p'
08:45 PM
那麼我將如何做這樣的事情在我的劇本?
編輯:我想在我的腳本中做什麼是傳遞參數以相同的方式作爲日期命令。
所以,如果我的腳本要改變所有%一個參數爲foo,它會執行以下操作:
$ ./myscript '%a bar'
foo bar
對不起,如果這是措辭不佳,因爲我是新的shell腳本。在bash中傳遞參數如unix date命令
我想寫一個腳本,我想採取像unix date命令這樣的參數。
例子:
$ date '+%I:%M %p'
08:45 PM
那麼我將如何做這樣的事情在我的劇本?
編輯:我想在我的腳本中做什麼是傳遞參數以相同的方式作爲日期命令。
所以,如果我的腳本要改變所有%一個參數爲foo,它會執行以下操作:
$ ./myscript '%a bar'
foo bar
感謝@tripleee我能拿出一個解決方案,讓您能夠替代多個關鍵字在一個字符串arg中。
下面的代碼:
res="${1}"
res="${res//"%a"/water}"
res="${res//"%b"/chocolate}"
echo "$res"
輸入:
./myscript "like %a for %b"
輸出:
like water for chocolate
這種方法能看穿你想在ARG更換,即使它不是每一個關鍵字在那裏,所以它不是很有效率,但它完成了工作。
這不是你想在bash中做的事情。 –
它是你希望模擬的日期的函數還是隻是基本的命令行參數傳遞?查看[GNU Bash參考手冊](https://www.gnu.org/software/bash/manual/)並查看'$ *','$ @'等以獲取關於後者的信息。 –
這實際上相當複雜,它們解析的實際參數比將參數傳遞到腳本本身要困難得多。你想解析這樣的字符串......'+%I:%M%p'? – Harry