相关疑难解决方法(0)

在脚本中使用 $"dollarsign-prefixed string" 是什么意思?

我刚刚在初始化脚本中看到了这一点:

echo $"Stopping Apache"
Run Code Online (Sandbox Code Playgroud)

那个美元符号是干什么用的?

到目前为止我的研究:

我在 bash 手册中找到了这个:

引述

如果设置,$'string'并且在双引号括起来的扩展中$"string"执行${parameter}引用。默认情况下启用此选项。

...但我没有发现带$前缀和不带前缀的字符串之间有任何区别:

$ echo "I am in $PWD"
I am in /var/shared/home/southworth/qed
$ echo $"I am in $PWD"
I am in /var/shared/home/southworth/qed
$ echo $"I am in ${PWD}"
I am in /var/shared/home/southworth/qed
$ echo "I am in ${PWD}"
I am in /var/shared/home/southworth/qed
$ echo 'I am in ${PWD}'
I am in ${PWD}
$ echo $'I am in ${PWD}'
I am in ${PWD} …
Run Code Online (Sandbox Code Playgroud)

scripting bash shell-script quoting

103
推荐指数
2
解决办法
7万
查看次数

sed 命令中 -e 的目的是什么?

我找不到任何关于sed -e开关的文档,为了简单的替换,我需要它吗?

例如

sed 's/foo/bar/'
Run Code Online (Sandbox Code Playgroud)

VS

sed -e 's/foo/bar/'
Run Code Online (Sandbox Code Playgroud)

linux shell sed command text

63
推荐指数
4
解决办法
8万
查看次数

在多个文件的开头插入 sed 不起作用

我遇到了很多答案,包括论文:

而且我找不到做我想做的事情的方法。我需要#encoding:utf-8.html.erb目录的每个文件的开头插入(递归)。我尝试使用此命令

find . -iname "*.erb" -type f -exec sed -ie "1i \#encoding:utf-8" {} \;
Run Code Online (Sandbox Code Playgroud)

但它抛出这个错误:

sed: 1: "1i #encoding:utf-8": i 命令末尾 \ 后的额外字符

sed shell-script

4
推荐指数
1
解决办法
1363
查看次数

标签 统计

sed ×2

shell-script ×2

bash ×1

command ×1

linux ×1

quoting ×1

scripting ×1

shell ×1

text ×1