是否可以编写一个shell脚本./inplace
如下:
./inplace arg1 arg2 [..] argn
应该等同于序列:
arg1 arg2 [..] argn > tmp.file
mv tmp.file argn
有三个论点:
./inplace arg1 arg2 arg3
应该是
arg1 arg2 arg3 > tmp.file
mv tmp.file arg3
对于涉及$1
的参数的案例,我的尝试失败了。对于
示例
./inplace awk '{print $1}' file.txt
更新
这是有效的(根据Thomas Dickey的回答)
#!/bin/sh
for last; do true; done
"$@" > tmp.file
mv tmp.file "${last}"
# Examples:
#
# seq 20 > test.txt
# ./inplace.sh head test.txt
# cat test.txt
#
# seq 20 > test.txt
# ./inplace.sh awk '{print $1^2}' test.txt
# cat test.txt
#
# seq 20 > test.txt
# ./inplace.sh awk -v line="with spaces:" '{print line, $1}' test.txt
# cat test.txt
#
答案 0 :(得分:2)
可能问题是缺乏引用。如果您在app.get("/deletebookData", function (req, response) {
console.log(req.body);
});
脚本(而不是"$@"
)中使用特殊参数inplace
,则会引用所有参数。