Shell 在写函数的时候,有时候需要传递字符串,由于字符串中有空格,所以结果总是不对,下面写个小例子,解决这个问题:

#!/bin/bash

# value init
TT="adb shell ls -l /data/local/tmp/";
FINAL="";
loop_count=2; # LoopEx: excute a programm in a loop, $1 is program,$2 is loop count,
function LoopEx()
{
Ex=$1;
local loop_count=$2;
echo "Programm is $Ex, loop_count ==$loop_count"
for i in $(seq $loop_count); do
$Ex;
done;
} LoopEx $TT $loop_count

  这个输出的结果是:

Programm is adb, loop_count ==shell
seq: invalid floating point argument: shell

因为传递的字符串中有空格,解决这个问题如下,在调用函数传递参数的时候使用:

LoopEx "$TT" $loop_count 

得到正确的显示结果如下:

Programm is adb shell ls -l /data/local/tmp/, loop_count ==2
drwxrwxrwx root root 2010-01-01 23:10 CPlusPlus
-rw-rw-rw- root root 2 2014-08-07 01:54 PPAMonitorPort.pt
-rwxrwxrwx root root 153916 2014-04-17 08:33 libGLES_mali1.so
-rwxrwxrwx root root 10304 2014-04-17 08:42 libGLESv2Agent.so
-rwxrwxrwx root root 890744 2014-04-17 08:33 libppa.so
-rwxrwxrwx root root 259484 2014-04-17 08:34 librsagent.so
-rwxrwxrwx root root 471328 2014-04-17 08:33 libtunnel.so
drwxrwxr-x root root 2010-01-01 00:11 vp9Input
-rw-rw-rw- root root 24285 2014-08-07 02:30 vp9_inter_pred_4x4.cl
-rw-rw-rw- root root 40239 2010-01-01 23:56 vp9kernel.bin
-rwxrwxrwx root root 510012 2014-08-07 02:31 vpxdec
-rwxrwxrwx root root 509056 2014-07-18 07:59 vpxdec-cpu
drwxrwxrwx root root 2010-01-01 23:10 CPlusPlus
-rw-rw-rw- root root 2 2014-08-07 01:54 PPAMonitorPort.pt
-rwxrwxrwx root root 153916 2014-04-17 08:33 libGLES_mali1.so
-rwxrwxrwx root root 10304 2014-04-17 08:42 libGLESv2Agent.so
-rwxrwxrwx root root 890744 2014-04-17 08:33 libppa.so
-rwxrwxrwx root root 259484 2014-04-17 08:34 librsagent.so
-rwxrwxrwx root root 471328 2014-04-17 08:33 libtunnel.so
drwxrwxr-x root root 2010-01-01 00:11 vp9Input
-rw-rw-rw- root root 24285 2014-08-07 02:30 vp9_inter_pred_4x4.cl
-rw-rw-rw- root root 40239 2010-01-01 23:56 vp9kernel.bin
-rwxrwxrwx root root 510012 2014-08-07 02:31 vpxdec
-rwxrwxrwx root root 509056 2014-07-18 07:59 vpxdec-cpu

Shell如何传递字符串的更多相关文章

  1. 一篇详细的linux中shell语言的字符串处理

    1 cut是以每一行为一个处理对象的,这种机制和sed是一样的.(关于sed的入门文章将在近期发布) 2 cut一般以什么为依据呢? 也就是说,我怎么告诉cut我想定位到的剪切内容呢? cut命令主要 ...

  2. 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数

    [问题]Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数. [解决]直接对变量加引号,如: <button onclick="deleteProduct('@ ...

  3. 在Shell里面判断字符串是否为空

     在Shell里面判断字符串是否为空 分类: Linux shell2011-12-28 23:18 15371人阅读 评论(0) 收藏 举报 shell 主要有以下几种方法: echo “$str” ...

  4. JS 拼装代码的HTML onClick方法传递字符串

    有时会在JS中拼装HTML代码,这时在HTML中出现的onClick()方法中: 1.出现传递Num型的数据,直接拼装进去即可: 2.可能会出现传递字符串的情况,处理方法比较特殊,如下: a:直接字符 ...

  5. shell中截取字符串的方法总结

    shell中截取字符串的方法有很多种, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ...

  6. shell脚本中字符串的常见操作及"command not found"报错处理(附源码)

    简介 昨天在通过shell脚本实现一个功能的时候,由于对shell处理字符串的方法有些不熟悉导致花了不少时间也犯了很多错误,因此将昨日的一些错误记录下来,避免以后再犯. 字符串的定义与赋值 # 定义S ...

  7. Shell脚本中字符串判空:使用-z 字符串长度为0时,为真,-n字符串长度不为0,为真。这两个都不靠谱【转】

    最近发现使用  -z   和  -n  来判断字符串判空,或不空时,很不靠谱. 使用下面的方法最可靠: if [ "x${value}" == "x" ]    ...

  8. shell如何传递变量到另一个脚本文件中

    http://www.jbxue.com/article/shell/20707.html本文介绍了shell脚本传递变量到另一个脚本文件中的方法,在脚本中调用另一脚本,即创建了一个子进程,感兴趣的朋 ...

  9. 如何在存储过程的IN操作中传递字符串变量

    原始SQL如下: SELECT MONTH(OrderTime) AS datetype, SUM(DeliveryCount) AS decount, Region FROM (SELECT dbo ...

随机推荐

  1. RSA安全性问题

    加密:C=Me(mod n) 解密:M=Cd(mod n) 安全性基础: 穷举法攻击: 1.攻击者设计一个M,C=Me(mod n) 2.d的个数至多有n-1个,尝试使用每个d破解,如果M’=Cd‘( ...

  2. greenlet代码解读

    协程 上次已经讲解了协程的的实现方法,和我对协程的一些理解.这里指我就先以代码说明协程的运行.def test1():    print 12         (2)    gr2.switch()  ...

  3. php 商务网站购物车联动地址

    数据表如下: CREATE TABLE IF NOT EXISTS `china` (`region_id` smallint(5) unsigned NOT NULL,  `parent_id` s ...

  4. 青瓷qici - H5小游戏 抽奖机 2 界面布局

    背景图片 首先我们需要在当前场景下面创建UI的根节点,这个根节点决定了我们整个游戏的元素布局,以及适应多分辨率的缩放布局问题,所以我们其他的元素都要放在UIRoot下面. 考虑到我自己测试的时候在PC ...

  5. 【 java版坦克大战--事件处理】 键盘控制小球上下左右移动

    上一节已经学习了事件处理,这一节需要完成通过键盘的上下左右键控制小球移动. 然后再通过应用到我们绘制的坦克上. /** * 加深对事件处理机制的理解 * 通过光标的上下左右键,控制小球的左右上下移动. ...

  6. 【python】元组的插入

    >>> temp=(1,2,3,4,5)>>> temp=temp[:2]+(8,)+temp[2:]>>> temp(1, 2, 8, 3, 4 ...

  7. 面试题:m个长度为n的ordered array,求top k 个 数字

    package com.sinaWeibo.interview; import java.util.Comparator; import java.util.Iterator; import java ...

  8. How to get Directory size in IsolatedStorage of Windows Phone 8 App

    There is no API to get the total size of a specific directory in the isolated storage. Therefore, th ...

  9. jquery mobile页面跳转后,必须重新刷新页面js方可有效

    最近在做个项目,用到jquery mobile,很陌生对他,问题一个个的来,那就要一个个解决,找了一天这个问题,放可明白:首先明白jqm里面页面跳转默认都是通过ajax请求的,必须重新刷新页面js方可 ...

  10. Js处理数据——前端分页工具

    这几天有小伙伴讨论起了分页的相关问题,这里我也简单讲下前端如何简单便捷的利用Js(库)写出优雅,好用的分页工具. 分页是个很简单又超多接触的技术点,粗略来讲分如下两种: 真分页--每次根据页码.页大小 ...