這個問題在這里已經有了答案: 如何將變數的值傳遞給命令的標準輸入? (9 個回答) 9 小時前關閉。
我目前正在從這樣的運算式中保存字串輸出
SOME_PATH="/some/path/file"
FILE_NAME=`echo "$SOME_PATH" | rev | cut -f 1 -d "/" | rev )`
FILE_FOLDER=`echo "$SOME_PATH" | sed s/$FILE_NAME//`
echo ${SOME_PATH}
echo ${FILE_NAME}
echo ${FILE_FOLDER}
似乎回聲是多余的,但沒有它我無法讓它作業。什么是首選方式?
uj5u.com熱心網友回復:
什么是首選方式?
首選方法是使用變數擴展。
somepath='/some/path'
filename=${somepath##*/}
dirname=${somepath%/*}
另外:不要使用反引號`,更喜歡$(...),參考變數擴展"s/$FILE_NAME//",更喜歡對區域變數使用小寫變數并使用shellcheck檢查您的腳本。
如何在沒有echo的情況下在變數中分配運算式的字串輸出?
使用此處字串保存一個fork()呼叫。
var=$(<<<"$var" command)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/314482.html
標籤:猛击
