文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

script 命令怎么在Linux中使用

2023-06-13 04:03

关注

script 命令怎么在Linux中使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1、script命令描述

script命令会记录所有的操作到文件同时在屏幕上输出,直到终止登陆的会话,或使用CRTL+D,或使用exit退出则停止记录。

这个命令对于数据库的升级或是重要设置的情形下使用可以用于后续查询操作成功或失败。
用法: $ script [upgrade.log]
如果未指定日志文件名的情形,自动生成日志文件名为typescript。
如果需要输出到已经存在的日志文件,则使用 -a 参数,再接已经存在日志文件名。
如果需要在输出到日志文件的同时,也可以查看日志文件的内容,可以使用 -f 参数。</p><p># script 帮助描述
robin@SZDB:~> man script
NAME
    script - make typescript of terminal session</p><p>SYNOPSIS
    script [-a] [-c COMMAND] [-f] [-q] [-t] [file]</p><p>DESCRIPTION
    Script makes a typescript of everything printed on your terminal.  It is useful for students who need a hardcopy record of
    an interactive session as proof of an assignment, as the typescript file can be printed out later with lpr(1).</p><p>     If the argument file is given, script saves all dialogue in file.  If no file name is given, the typescript is saved in the
    file typescript.</p><p>     Options:</p><p>     -a      Append the output to file or typescript, retaining the prior contents.</p><p>     -c COMMAND
            Run the COMMAND rather than an interactive shell.  This makes it easy for a script to capture the output of a pro-
            gram that behaves differently when its stdout is not a tty.</p><p>     -f      Flush output after each write. This is nice for telecooperation: One person does `mkfifo foo; script -f foo' and
            another can supervise real-time what is being done using `cat foo'.</p><p>     -q      Be quiet.</p><p>     -t      Output timeing data to standard error. This data contains two fields, separated by a space. The first field indi-
            cates how much time elapsed since the previous output. The second field indicates how many characters were output
            this time. This information can be used to replay typescripts with realistic typing and output delays.

2、script命令用法示例

代码如下:


a、script命令后接日志文件名
robin@SZDB:~> script test_logfile.log        #启用script
Script started, file is test_logfile.log</p><p>  .................#中间操作省略
 
robin@SZDB:~> exit    #停止script
exit
Script done, file is test_logfile.log</p><p>#查看刚刚生成的日志文件
robin@SZDB:~> more test_logfile.log
Script started on Fri 26 Apr 2013 05:45:23 PM CST
robin@SZDB:~> sid  
bash: sid: command not found
robin@SZDB:~> . ~/.bash_profile
robin@SZDB:~> sid
ORA_CRS_HOME=/opt/oracle/product/10gR2/crs
ORACLE_PATH=.:/users/robin/dba_scripts/custom/sql
ORA_ASM_HOME=/opt/oracle/product/10gR2/asm
ORACLE_SID=SYBO2SZ
ORACLE_BASE=/users/oracle
ORACLE_HOME=/users/oracle/OraHome10g
robin@SZDB:~> sql     </p><p>SQL*Plus: Release 10.2.0.3.0 - Production on Fri Apr 26 17:46:12 2013</p><p>Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.</p><p>Error accessing PRODUCT_USER_PROFILE
Warning:  Product user profile information not loaded!
You may need to run PUPBLD.SQL as SYSTEM</p><p>Connected to:
Oracle Database 10g Release 10.2.0.3.0 - 64bit Production</p><p>goex_admin@SYBO2SZ> alter session set current_schema=scott;</p><p>Session altered.</p><p>goex_admin@SYBO2SZ> select * from dept;</p><p>    DEPTNO DNAME          LOC
---------- -------------- -------------
       10 ACCOUNTING     NEW YORK
       20 RESEARCH       DALLAS
       30 SALES          CHICAGO
       40 OPERATIONS     BOSTON</p><p>goex_admin@SYBO2SZ> exit
Disconnected from Oracle Database 10g Release 10.2.0.3.0 - 64bit Production
robin@SZDB:~> exit
exit</p><p>Script done on Fri 26 Apr 2013 05:46:32 PM CST  </p><p>b、script 命下直接跟脚本名的示例
robin@SZDB:~> script -c retval.sh
Script started, file is typescript
7788 SCOTT ANALYST 7566 19870419 00:00:00 3100 20
Script done, file is typescript</p><p>#被执行的shell脚本的内容
# Author : Robinson
# Blog   : http://blog.csdn.ner/robinson_0612</p><p>robin@SZDB:~> more ~/dba_scripts/custom/bin/retval.sh
#!/bin/bash
RETVAL=`sqlplus -silent scott/tiger <<EOF
SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
SELECT * FROM emp WHERE ename='SCOTT';
EXIT;
EOF`
if [ -z "$RETVAL" ]; then
 echo "No rows returned from database"
 exit 0
else
 echo $RETVAL
fi

关于script 命令怎么在Linux中使用问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯