我需要创建 bash 脚本文件,该文件启动后会执行以下操作。
1)假设启动脚本后我输入文本“abc”。那么脚本必须自动生成命令
cat text.txt
echo '123' > text.txt
echo 'abc' >>text.txt
echo '456' >>text.txt
2)完成之后,我需要执行一些命令(例如编译程序等)。
如何创建执行这些任务的 bash 脚本?
答案1
如果顶部和底部是固定的,它可能是这样的:
cat top.txt /dev/stdin bottom.txt > text.txt
# with cat, - works the same as /dev/stdin
或者
{
echo 123 #top.txt
cat
echo 456 #bottom.txt
} > text.txt
接下来是你的编译命令
cat top.txt /dev/stdin bottom.txt > text.txt
gcc whatever
第一行应该是一个 shebang 行,指定你的解释器,除非你同意/bin/sh
#!/bin/bash
cat top.txt /dev/stdin bottom.txt > text.txt
gcc whatever
如果您随后用 , 标记脚本可执行文件chmod +x the_script
,
./the_script
则相当于/bin/bash ./the_script
.
如果您希望脚本中止命令失败,请以set -e
( 或创建 shebang 行 ( #!/bin/bash -e
) 开头。
编辑:
cat
需要整个文件(直到您输入 ctr-d - 文件结尾标记)。如果你只想要一行,你可以做 read -r some; printf '%s\n' "$something" 或head -n1
.
man $command
您可以使用或阅读命令的帮助页面help $command
。