eval and $()/``and typeset and xargs

原创 2013年12月04日 11:18:49

xargs这个东西,不是一行一行作为输入,而是一项一项的
不加-l 。则仅仅是文件名,可以直接删除 ls -tr|head -3
$ ls -ltr|head -3 |xargs grep total --------------------------the same with above rm
grep: can't open total
grep: can't open 907848
grep: can't open drwxrwsr-x


 在非email*.txt 的文件中,查找<>
在除了email*.txt 的文件中,查找<>。
ls |grep -v email |xargs grep "<>"


eval和$(),``区别
a="ls |more"
$ ret=$(a)
ksh: a:  not found
$ ret=`$a`
|more: No such file or directory
$ ret=`ls|more`
$ echo $ret
eval $a-----既不仅替代变量而且替换完执行命令。将a用ls|more替换,又执行了ls|more的命令。而$(a)错误,因为$(),和``只执行命令,不能替换,展开string。在执行命令。
result:
extlab.sh
......


Normally ksh cannot handle a variable name that included an embedded variable:

Mypart=1   # OK, no problem because the variable name is fixed as “Mypart”.

var=”part”

My${var}=1  # ksh error, it doesn‘t know how to handle My${var}.

My usual solution to this problem is to use ‘eval’ which tells ksh to expand the line before executing it:

eval My${var}=1   # OK, ${var} gets expanded first, so ksh executes “Mypart=1”.

Someone on the China COOL team discovered that typeset will also cause the variable to be expanded first.  So instead of using “eval” you could do:

typeset My${var}=1  # OK just like eval


Because eval or typeset will expand the line first, you have to be careful if you don’t want \$ to be expanded too soon.  For example:

print “variable=$My${var}”   # no good, ksh prints the value of variable $My followed by variable ${var} instead of printing the value of $Mypart.

eval print “variable=$My${var}”  # no good, ksh expands $My (blank most likely) before printing

eval print “variable=\$My${var}”  # correct, the eval does not expand the first $ because it has a backslash.  The expanded command is ‘print variable=$Mypart’.  Note that the double quotes were lost too.  If the print was formatted with extra white space, you would need to backslash the double-quotes too.

JS window eval and load script!

var globalEval = function globalEval(src) { if (window.execScript) { window.execScript(s...

用XCA(X Certificate and key management)可视化程序管理SSL 证书(2)--生成SSL证书请求

在上个章节中,我们提到了如何安装XCA(X Certificate and key management)程序,这个章节我们开始正式介绍如何用XCA生成证书请求。如果大家用过java的话,肯定知道jd...

Spark MLlib 核心基础:向量 And 矩阵

1、Spark MLlib 核心基础:向量 And矩阵 1.1 Vector 1.1.1 dense vector 源码定义:    * Creates a dense vector from it...
  • sunbow0
  • sunbow0
  • 2015年04月23日 17:47
  • 6297

AMS 深入了解(二、Activity管理)(and5.1)

这次我们讲下AMS的Activity管理,我们先从如何启动Activity说起。 一、应用startActivity函数 先来看看Activity的startActivity函数: publi...

Arrays.sort() and 吾欲仁则斯仁至矣

有不少人在争论 Java 对学生有益还是有害(不少网站上的评论有断章取义的嫌疑,不值得多看,建议看这个中文链接)(英文链接)。事实上,这个问题事实上不是最近才提出来,大约6~7 年前,我们的同事在美国...

unity shader 可编程管线(二) 顶点和片段着色器(Vertex Shader and Fragmet Shader)

顶点着色器和片段着色器。 可编程Shader的特点为: 功能最强大、最自由的形态。特征是在Pass里出现CGPROGRAM和ENDCG块编译指令#pragma。详见官网Cg snippet...
  • hpm21
  • hpm21
  • 2016年02月18日 11:39
  • 442

2017美国数学建模MCM C题(大数据)翻译 “合作和导航” (“Cooperate and navigate”)

C题中文翻译: 问题C:“合作和导航” 由于道路的数量,美国许多地区的交通容量有限。 例如,在大西雅图地区,司机在交通高峰时段遇到长时间的延误 因为交通量超过了道路网络的设计容量。这是特别 在州际...

CRB and His Birthday。。。之混合背包

B. CRB and His Birthday Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %I64...

【打CF,学算法——二星级】CodeForces 282C XOR and OR (观察)

题目链接:CF 282C 题面: C. XOR and OR time limit per test 2 seconds memory limit per test 256 megabyt...

SSH深度历险(五) 深入浅出-----IOC AND AOP

面向切面编程AOP Aspect Oriented Programming(面向切面编程),可以 通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一 添加功能的一...
  • lishehe
  • lishehe
  • 2014年06月12日 10:25
  • 2886
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:eval and $()/``and typeset and xargs
举报原因:
原因补充:

(最多只允许输入30个字)