【发布时间】:2020-08-20 18:07:21
【问题描述】:
这是一个非常简单的 bash 函数,它接收一条消息并将其附加到 file.txt 的末尾。
function n() {
message=$1 &&
echo -e "$message" >> file.txt;
}
要向此文件添加文本,我只需运行 n "text I want to add"
这一切都很好,但是有没有办法不需要引号?相反,函数之后的所有内容都将被视为消息。
n Everything I write here, after the n, would be saved to the file.txt
本质上,我会告诉 bash 停止读取 n 之后的任何内容作为潜在的函数,并且仅将其作为字符串读取。我可以预见到这是通过与echo 不同的功能实现的,或者通过某种方式在n 的定义中包含引号,以便在调用n 时它们是不可见的。
【问题讨论】:
-
在函数中使用
"$@"获取所有参数。 -
取决于您对“一切”的含义注意外壳扩展 *
标签: string bash function escaping