0
這是我的腳本。Shell腳本值問題
#!/bin/sh
grep $ `date +%Y%m%d`/filename.txt | sed 1d
很簡單。我期待能夠與後它只是一個值,其中值應替換「$」運行腳本,如:
bash-4.1$ ./script.sh | "value"
我如何能做到這一點任何想法?
這是我的腳本。Shell腳本值問題
#!/bin/sh
grep $ `date +%Y%m%d`/filename.txt | sed 1d
很簡單。我期待能夠與後它只是一個值,其中值應替換「$」運行腳本,如:
bash-4.1$ ./script.sh | "value"
我如何能做到這一點任何想法?
使用$1
,並將其作爲./yourscript value
運行。
也就是說:
#!/bin/sh
grep -e "$1" "$(date +%Y%m%d)/filename.txt"
......還有......
$ ./yourscript "value"
管構造不適合在這裏 - 這是當你連接一個進程的輸出使用到另一個的輸入。
謝謝!這工作完美 – user3310704
歡迎來到Stack Overflow。請儘快閱讀[關於]頁面。符號'./script.sh | 「value」會在沒有參數的情況下運行腳本,並將標準輸出發送到程序'value'。你可以使用'./script.sh「值''將'value'作爲'$ 1'傳遞給shell腳本(所以你可以用'$ 1'替換$'')。如果你想搜索一個管道符號後跟'value',那麼你需要'./script.sh'|值''與管內引號。 –
...順便說一句,如果你想要一個開始學習bash(而不是猜測句法)的好地方,我會建議http://mywiki.wooledge.org/BashGuide –