收藏本站 收藏本站
积木网首页 - 技术学院 - 软件测试 - 网站黄页 - 常用手册 - 站长工具 - 技术社区
首页 > shell编程 > 正文

首页 - PHP - 数据库 - 操作系统 - 游戏开发 - JS - Android - MySql - Redis - MongoDB - Win8 - Shell编程 - DOS命令 - jQuery - CSS样式 - Python - Perl

Access - Oracle - DB2 - SQLServer - MsSql2008 - MsSql2005 - Sqlite - PostgreSQL - node.js - extjs - JavaScript vbs - Powershell - Ruby

Shell中eval的用法示例

功能说明:告知shell取出eval的参数,重新运算求出参数的内容。
语  法:eval [参数]
补充说明:eval可读取一连串的参数,然后再依参数本身的特性来执行。
参  数:参数不限数目,彼此之间用分号分开。
1.执行命令行之前扫描它两次,再次运算求出参数的内容。

[root@localhost blue]# a="ls |more"

[root@localhost blue]# $a                                           #ls

将 | 和 more 看成了参数,而不是将文件按页显示
ls: cannot access |more: No such file or directory

[root@localhost blue]# eval $a                                    #取出

其参数并再次执行它们
1

1.cpp

2

2.cpp

3

3.cpp

[root@localhost test]# a="123"

[root@localhost test]# echo '${'"a"'}'                         

${a}

[root@localhost test]# eval echo '${'"a"'}'                #再次执行${a}命令

123

2.eval取得最后一个参数
[root@localhost blue]# echo 'eval echo $$#' > last

[root@localhost blue]# cat last

eval echo $$#

[root@localhost blue]# ./last 1 2 3 4

4

另外其他高级用法后作补充!
eval是对Bash Shell命令行处理规则的灵活应用,进而构造"智能"命令实现复杂的功能。
上面提及的命令是eval其中一个很普通的应用,它重复了1次命令行参数传递过程,纯粹地执行命令的命令。
其实它是bash的难点,是高级bash程序员的必修之技。

常用Linux Shell进阶部分小结
如何计算当前目录下的文件数和目录数#ls-l*|grep"^-"|wc-l----tocountfiles#ls-l*|grep"^d"|wc-l-----tocountdir如何只列子目录?ls-F|grep/$或者aliassub="ls-F|grep/$"(linux)ls-l

shell脚本中一些特殊符号
在shell中常用的特殊符号罗列如下:#;;;.,/\'string'|!$${}$$$$*"string"***:^$#$@`command`{}[][[]]()(())||&&{xx,yy,zz,...}~~+~-&\...\+-%===!=#井号(comments)这几乎是个满场都有

使用Bash Shell对目录中的文件实现递归式拷贝
前言今天工作中遇到了一个问题,如果将目录A中的文件拷贝到目录B中(前提目录B没有该文件),并保持文件在目录A的结构。项目重点如下:需要在目

本周排行

更新排行

强悍的草根IT技术社区,这里应该有您想要的! 友情链接:b2b电子商务
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号