我有一个shell脚本,想把输出结果写到另一个文件中,请问脚本应该怎么添加命令?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我有一个shell脚本,想把输出结果写到另一个文件中,请问脚本应该怎么添加命令?相关的知识,希望对你有一定的参考价值。

举例:我有一个shell脚本a.sh,想在脚本内加一条或者几条命令,让a.sh的输出写到b.txt,b.txt可以不存在
为什么我直接在脚本后加一条命令:exec 1>b.txt不成功啊,老提示我文件不存在,要么就是b.txt没有任何变化
不一定非得用exec命令,哪位能正确输出的麻烦指导下

参考技术A 举个例子:
echo "hello,world" >> b.txt 这是第一个命令的输出
ifconfig >> b.txt 这是第二个命令的输出
>> 表示在文件末尾追加追问

感谢.
不过我需要一个或几个命令,直接一次就能把所有输出都显示出来,不需要每个语句都在后面写 >>的.请问应该怎么写?

追答

你是否是这个意思,把标准输出(stdout),代码为1,一次全部输出到文件中?

追问

参考技术B sh a.sh >> b.txt
你这个b.txt文件需要你事先创造好,touch b.txt
参考技术C 输出用‘echo’啊!不懂你意思,1是标准输出是默认的,写不写都一样。
echo "hello,world" > b.txt追问

我要把整个脚本的输出都写到一个文件,脚本里面大概有几条命令,每条命令都分别有输出

参考技术D 全部待输出指令作为整体 | tee file.txt 第5个回答  2013-05-02 exec 1 是什么意思,哪有这个命令?

如何让crontab执行脚本后并且把日志输出到另一个文件?

直接crontab -e添加执行脚本,然后给执行脚本加个重定向到文件就行了。

例如:30 23 * * * /path/to/shell/script >> /path/to/log/file    #表示每晚的23:30执行/path/to/shell/script脚本,并且把结果重定向输出到/path/to/log/file文件。

crontab参数:

-e:编辑该用户的计时器设置;

-l:列出该用户的计时器设置;

-r:删除该用户的计时器设置;

-u<用户名称>:指定要设定计时器的用户名称。

crontab的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下: minute hour day month week command,时间字段都是整数, command:要执行的命令,可以是系统命令,也可以是自己编写的shell脚本文件。 在以上各个字段中,还可以使用以下特殊字符:

星号(*):代表所有可能的值,全部。

逗号(,):可以用逗号隔开的值指定一个列表范围。

中杠(-):可以用整数之间的中杠表示一个整数范围。

正斜线(/):可以用正斜线指定时间的间隔频率。

crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。

参考技术A 1、针对Linux系统的查询方法(含Redhat、SUSE)
看 /var/log/cron这个文件就可以,可以用tail -f /var/log/cron观察
配图为系统aix root用户默认的crontab

2、针对UINX系统查询方法(AIX、HP-UX)
在 /var/spool/cron/tmp文件中,有croutXXX00999的tmp文件,tail 这些文件就可以看到正在执行的任务了。

3. mail任务(Linux UNIX)在 /var/spool/mail/root 文件中,有crontab执行日志的记录,用tail -f /var/spool/mail/root 即可查看最近的crontab执行情况。

注意事项
其实最简单的方法还有将crontab的任务执行采用累加的方式输出到一个日志中
注意crontab里定时执行的脚本有足够的权限,如未正常执行,需要常看其日志
参考技术B 直接crontab -e添加就好了,给执行脚本加个重定向就好了。
1 * * * * /path/to/shell/script >> /path/to/log/file
参考技术C

]Linux中用crontab例行工作安排1表示所有的标准输出和错误输出都将被重定向到一个叫做out.file的文件中3.crontab常用操作列出crontab文件:crontab-l编辑cronta。防恶意抓取... test的使用方法 如何让crontab执行脚本后并且把日志输出到另一个文件-u<用户名称>

以上是关于我有一个shell脚本,想把输出结果写到另一个文件中,请问脚本应该怎么添加命令?的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本中echo怎么将变量的值写到文件中去

shell结果输出到其他服务器

如何获取shell命令输出的错误信息

如何让crontab执行脚本后并且把日志输出到另一个文件?

Linux学习记录:Shell脚本

shell脚本中如何输出标准错误和标准输出