用shell命令读取与输出数据的代码

 更新时间:2013年02月28日 10:25:08   作者:  
本文为大家介绍使用shell命令进行读取与输出数据的方法,其中涉及了文件输出、重定向、管道等相关知识,有兴趣的朋友可以参考下

shell脚本读取数据有以下几种方式:
1.键盘输入,默认
2.从文件中读取
3.通过管道命令传递

echo的功能:
\c :不换行
\f :进纸
\t :跳格
\n :换行
\表示转义,例如:"\"/dev/rmt0"\"翻译为,"/dev/rmt0"

read:从键盘或文件的某一行文本中读取信息,并将其赋给一个变量。

复制代码 代码如下:

[jb51]/>read name
hello i am a regular user
[jb51]/>echo $name
hello i am a regular user
[jb51]/>

cat:作用,1.显示文件内容,2.创建文件,3.显示控制字符。
1.显示文件内容
cat filename | more
cat filename | pg
2.创建文件
cat > filename
3.显示控制字符
cat -v filename

管道:可以通过管道,将一个命令的输出传递给另一个命令做为输入。
形式:命令1 | 命令2
例如:

复制代码 代码如下:

[jb51]/usr/xxxx/ytcclb>who | awk '{print $1"\t"$2}'
xxxx ttyp0
xxxx ttyp1
xxxx ttyp2
...
xxxx ttyp55
[jb51]/usr/xxxx/ytcclb>df -k | awk '{print $1}' | grep -v "Filesystem"
/dev/root
/dev/boot
[jb51]/usr/xxxx/ytcclb>df -k | awk '{print $1}'| grep -v "Filesystem"|sed s'/\/dev\///g'
root
boot
[jb51]/usr/xxxx/ytcclb>

tee命令
作用:把输出的一个副本输送到标准输出,另一个副本拷贝到相应的文件中。
tee -a file
-a:追加到文件末尾。
[jb51]/usr/xxxx/ytcclb>who | tee who.out
将who命令查找到的数据保存到who.out文件中。

文件重定向:
command > filename 把标准输出重定向到一个新文件中
command >> filename 把标准输出重定向到一个文件中(追加)
command 1 > fielname 把标准输出重定向到一个文件中
command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件中
command 2 > filename 把标准错误重定向到一个文件中
command 2 >> filename 把标准输出重定向到一个文件中(追加)
command >> filename 2>&1 把标准输出和标准错误一起重定向到一个文件中(追加)
command < filename >filename2 把command命令以filename文件作为标准输入,
以filename2文件作为标准输出
command < filename 把command命令以filename文件作为标准输入
command << delimiter 把从标准输入中读入,直至遇到delimiter分界符
command <&m 把文件描述符m作为标准输入
command >&m 把标准输出重定向到文件描述符m中
command <&- 把关闭标准输入

重定向标准输出
1.将很多命令的输出追加到一个文件中

复制代码 代码如下:

ls -l | grep ^d >>files.out
ls account* >> files.out

[jb51]/usr/xxxx/ytcclb>ls -l null.txt
-rw-r--r-- 1 xxxx group 3 Nov 15 16:07 null.txt
[jb51]/usr/xxxx/ytcclb>chmod u +x null.txt
chmod: WARNING: cannot access +x: No such file or directory (error 2)

u与+x之间有空格!

复制代码 代码如下:

[jb51]/usr/xxxx/ytcclb>chmod u+x null.txt
[jb51]/usr/xxxx/ytcclb>ls -l null.txt
-rwxr--r-- 1 xxxx group 3 Nov 15 16:07 null.txt

相关文章

  • shell Bash的数组与关联数组的实现

    shell Bash的数组与关联数组的实现

    本文主要介绍了shell Bash的数组与关联数组的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 一个监控Squid运行进程数并自动重启的简洁Shell脚本分享

    一个监控Squid运行进程数并自动重启的简洁Shell脚本分享

    这篇文章主要介绍了一个监控Squid运行进程数并自动重启的简洁Shell脚本分享,本文直接给出实现代码,需要的朋友可以参考下
    2014-12-12
  • 浅析Linux tar打包命令

    浅析Linux tar打包命令

    这篇文章主要介绍了Linux tar打包命令,本文给大家带来八个范例,每个范例都给大家介绍的非常详细,需要的朋友可以参考下
    2018-06-06
  • Linux shell编程中IO和条件及循环处理的细节问题讨论

    Linux shell编程中IO和条件及循环处理的细节问题讨论

    这篇文章主要介绍了Linux shell编程中IO和条件及循环处理的细节问题讨论,需要的朋友可以参考下
    2016-02-02
  • Linux 中 ls 命令详解

    Linux 中 ls 命令详解

    这篇文章主要介绍了Linux 中 ls 命令详解的相关资料,需要的朋友可以参考下
    2023-05-05
  • Linux 中的 Install命令

    Linux 中的 Install命令

    install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。 本文重点给大家介绍Linux 中的 Install命令,感兴趣的朋友一起看看吧
    2017-09-09
  • Shell获取进程PID的实现

    Shell获取进程PID的实现

    本文主要介绍了Shell获取进程PID的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Window11 WSL2 添加静态IP的脚本

    Window11 WSL2 添加静态IP的脚本

    这篇文章主要介绍了Window11 WSL2 添加静态IP的脚本方法,通过一段脚本给 Windows 端的"vEthernet (WSL)"加了IPv4 172.18.16.1,给 Linux 端的 eth0 添加 IPv4 172.18.16.1,在使用前,请按需调整网络接口的名称和IP地址,需要的朋友可以参考下
    2023-01-01
  • Linux 用户名称高亮和最近路径显示问题

    Linux 用户名称高亮和最近路径显示问题

    这篇文章主要介绍了Linux 用户名称高亮和最近路径显示,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • linux文本过滤grep基础命令介绍(5)

    linux文本过滤grep基础命令介绍(5)

    这篇文章主要为大家详细介绍了linux文本过滤grep基础命令,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12

最新评论