5
A
回答
4
變量名是line
。 /用於字符串替換,即「設備名稱:」如果存在任何地方在$line
被刪除。
> line="a device name: some name"
> echo ${line/device name:}
a some name
您還可以看到#
和%
替代,這代表在line
替代的開始和結束。另外要注意的是/
替代是一個bash特有的功能(例如ash
不支持它,%
和#
看起來很便攜),所以你應該使用#!/bin/bash
而不是#!/bin/sh
作爲腳本開頭的hashbang。
4
它返回$line
在卸下子device name:
。從bash的手冊頁:
${parameter/pattern/string}
Pattern substitution. The pattern is expanded to produce a pattern just as in
pathname expansion. Parameter is expanded and the longest match of pattern against its value is replaced with string. If pattern begins with /, all
matches of pattern are replaced with string. Normally only the first match is
replaced. If pattern begins with #, it must match at the beginning of the
expanded value of parameter. If pattern begins with %, it must match at the
end of the expanded value of parameter. If string is null, matches of pattern are deleted and the/following pattern may be omitted. If parameter is @ or
*, the substitution operation is applied to each positional parameter in turn,
and the expansion is the resultant list. If parameter is an array variable
subscripted with @ or *, the substitution operation is applied to each member
of the array in turn, and the expansion is the resultant list.
+0
謝謝。優秀的答案! – Jimbo
相關問題
- 1. bash變量擴展
- 2. bash的擴展變量的變量,以$作爲前綴
- 3. if語句中的bash變量擴展
- 4. bash:使用空格擴展變量
- 5. 序列擴展和bash中的變量
- 6. 內聯bash時間變量擴展
- 7. 變量擴展的Bash陷阱?
- 8. 用多個引號擴展bash變量?
- 9. 如何在UNIX/BASH中擴展變量?
- 10. 命令中的bash變量擴展
- 11. Bash:變量不能正確擴展
- 12. 變量擴展在zsh中與bash中的變量不同
- 13. bash try/catch行爲bash -ex << EOF ... EOF或Here文檔和變量擴展
- 14. SWIG擴展變量
- 15. Makefile擴展變量
- 16. makfile變量擴展
- 17. Makefile變量擴展
- 18. 「擴展」是否也擴展變量?
- 19. php7 zend擴展:refcount爲堆棧變量?
- 20. 消息爲Chrome擴展傳遞變量
- 21. BASH外殼擴展參數與可變
- 22. bash命令擴展
- 23. bash FUNCNAME值擴展
- 24. 參數擴展bash
- 25. 在bash中使用擴展連接變量
- 26. 在bash中分配環境變量的參數擴展
- 27. python/bash變量擴展for循環for json數組
- 28. Bash:從變量中擴展參數。怎麼樣?
- 29. 帶大括號的Bash變量擴展語法
- 30. Bash子串和參數擴展不分配給變量
這兩個答案都是正確的,但這裏的參數擴展供以後參考和編輯到答案的文檔:http://www.gnu.org/software/bash/manual/html_node/殼參數-Expansion.html –