我必须编写一个小的 bash 脚本,将一些信息写入文件中。但是,将从不支持重定向运算符 (RTM) 的位置调用该脚本。因为我无法使用重定向运算符。我尝试过类似的事情:
#!/bin/bash
busers_var=$(busers -w name)
sed -i 'T a/"$busers_var"' alert.out
我收到错误:
sed: can't find label for jump to `a/"$busers_var"'
或者如果我使用:
sed -i "T a/$busers_var" alert.out
我得到:
sed: -e expression #1, char 25: unknown command: `J'
有任何想法吗?
答案1
如果busers -w name
是有问题的命令,请尝试tee
:
busers -w name | tee /path/to/output
也许添加 stderr:
busers -w name 2>&1 | tee /path/to/output
或者使用ed
:
touch output; ed -s output <<< $'r !busers -w name\nwq'
或者使用sort
到“合并已排序的文件;不排序”,结合其-o output
选项:
buser -w name | sort -m -o output