如何使用cat或echo仅使用一个命令将相同的内容写入多个文本文件?
例如,我想将“hello”写入 file1 和 file2。我试过:
echo "hello" >> file1 file2
Run Code Online (Sandbox Code Playgroud)
但它没有用。我该怎么做?
我需要读取和写入$@函数调用者的位置参数。Bash 手册页说:
shell 函数是一个对象,它像一个简单的命令一样被调用,并使用一组新的位置参数执行一个复合命令
所以$@在每次调用时都会重写。我寻找了一些“特殊参数”,但一无所获。shell 变量BASH_ARGV似乎解决了我的问题,但是它需要shopt -s extdebug启用,在我的机器中不是默认行为,也不是在生产中打开的选项。
extdebug
If set, behavior intended for use by debuggers is enabled:
...
4. BASH_ARGC and BASH_ARGV are updated as described in their
descriptions above.
...
Run Code Online (Sandbox Code Playgroud)
Bash 是否能够在$@没有 的情况下读取或写入函数的调用者BASH_ARGV?您是否认为 Bash 受到限制并使用另一个 shell 进行脚本编写?
编辑:我想要getopt在我的助手库中使用一个精美的包装器。所以与它相关的所有行为都在一个函数中。无需检查错误或set --.