Jim*_*mbo 5 bash variable-expansion parameter-expansion
在一段时间的读取循环中,我看到了这个变量扩展${line/device name:}.我已经尝试使用自己的输入文件运行脚本,它只打印出行.
你能告诉我扩展在做什么吗?
变量名称是line. / 用于字符串替换,即“设备名称:”如果存在于其中的任何位置,则将其$line删除。
> line="a device name: some name"
> echo ${line/device name:}
a some name
Run Code Online (Sandbox Code Playgroud)
您还可能会看到#和%替换,它代表开头line和结尾的替换。另请注意,此类/替换是 bash 特定的功能(例如,ash不支持它,%并且#看似可移植),因此您应该在脚本开头使用#!/bin/bash而不是#!/bin/sh作为 hashbang。