@$VAR
在 Shell 中是什么意思?在这种情况下我没有使用 @
。
我在处理 dotfiles 存储库时遇到了以下 shell 文件
#!/usr/bin/env bash
KEY="$1"
VALUE="$2"
FILE="$3"
touch "$FILE"
if grep -q "$1=" "$FILE"; then
sed "s@$KEY=.*@$KEY=\"$VALUE\"@" -i "$FILE"
else
echo "export $KEY=\"$VALUE\"" >> "$FILE"
fi
我正在努力理解 sed "s@$KEY=.*@$KEY=\"$VALUE\"@"-i "$FILE"
行,尤其是使用@
。
最佳答案
使用 sed
时,不一定要使用 /
字符作为 substitute
操作的分隔符。
因此,@
或 %
字符也是非常好的替代选项:
echo A | sed s/A/B/
echo A | sed s@A@B@
echo A | sed s%A%B%
关于shell - Shell 脚本中 SED 字符串中美元符号 @$VAR 之前的 at 符号有何作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50525578/