当前位置:  技术问答>linux和unix

请问如何将[ab]原封不动的传给Shell脚本?

    来源: 互联网  发布时间:2017-02-27

    本文导语:  这样一个叫s.sh的脚本: #! /bin/ksh  echo $1 怎样才能让它的输出结果为[ab]?  试过了下面这些都不行: ./s.sh [ab] ./s.sh [ab] ./s.sh '[ab]' ./s.sh '[ab]' 结果不是a就是[ab]。 求高手指点! | 貌似所有...

这样一个叫s.sh的脚本:
#! /bin/ksh 
echo $1
怎样才能让它的输出结果为[ab]? 
试过了下面这些都不行:
./s.sh [ab]
./s.sh [ab]
./s.sh '[ab]'
./s.sh '[ab]'
结果不是a就是[ab]。

求高手指点!

|
貌似所有情况都行啊:


zhu@ubuntu:~/sed$ cat cmd.ksh 
#!/bin/ksh
echo $1;
zhu@ubuntu:~/sed$ ./cmd.ksh [ab]
[ab]
zhu@ubuntu:~/sed$ ./cmd.ksh '[ab]'
[ab]
zhu@ubuntu:~/sed$ ./cmd.ksh "[ab]"
[ab]
zhu@ubuntu:~/sed$ uname -a
Linux ubuntu 3.2.0-24-generic #39-Ubuntu SMP Mon May 21 16:52:17 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
zhu@ubuntu:~/sed$ dpkg -l|grep ksh
ii  ksh                                    93u-1                                   The real, AT&T version of the Korn shell
zhu@ubuntu:~/sed$ 

|
虽然你执行时参数使用了引号,但是你脚本中的输出语句是echo $1,其中的$1是没有引号的

你可以改为这样看看
echo "$1"

这样,./s.sh '[ab]'
就会输出[ab]了

不管你当前目录下有没有a或b文件

|
./s.sh "[ab]"

记住,shell解析命令前将转义一次""或者不带""的部分, 将不转义''包裹的部分,另外,[]这些符号影响命令解析,必须"",''包裹,具体转义问题自己考虑。


|
你确定? 

我bashshell没这个毛病,通配符和正则都是程序解析的,不是shell解析的。

|
LZ估计是solaris系统,用了ksh,跟bash有点不一样
多试试转义之类的方法吧

|
[ab]

|
centos用/bin/bash,毫无问题啊,我不试验一下是不会回复你的。

[User:root Time:18:43:13 Path:/home/liangdong/shell]$ cat test.sh 
#!/bin/sh 

echo $1;
[User:root Time:18:43:15 Path:/home/liangdong/shell]$ ./test.sh [ab]
[ab]
[User:root Time:18:43:19 Path:/home/liangdong/shell]$ 


至于你为什么:#! /bin/ksh

我就不知道了,我都是用bash的

|
$ cat cmd.ksh
#!/bin/ksh

print $1;
$ ./cmd.ksh "[ab]"
[ab]


|


[]也是通配符啊,还真是乱了,谢谢楼主分享。

    
 
 

您可能感兴趣的文章:

  • 请问:子进程的数据可以传给父进程吗????
  • 请问:linux下如何将一个类的指针作为参数传给pthread_create创建的线程?
  • 请问在 LINUX下如何编辑脚本(可以直接运行脚本访问WINDOW系统)
  • 请问在脚本里怎么得到一个程序运行的返回值,脚本怎么返回值?
  • 请问 如何用user用户启动一个程序(或者脚本) 在这个程序(或脚本)里将用户转为root 然后用root执行下面的代码
  • 求助:请问怎么获得在个一个脚本中执行的另外个脚本的返回结果,如执行成功或失败
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • 请问关于linux脚本的一个问题。
  • 请问脚本编写的一些问题?
  • 请问如何在shell脚本中设置环境变量?
  • 请问如何执行已编好的脚本?
  • 请问怎样才能看到JavaScript原来的脚本语言?
  • 请问:怎么调用shell脚本
  • 请问如何在shell脚本中检测一个环境变量是否已经设置
  • 请问脚本中的$?代表什么呢?
  • 请问刚编译过的服务的启动脚本命令怎么选择存放路径
  • 我写了一个脚本,手动执行可以,定时执行不行,请问怎么回事?内详
  • 请问如何在SHELL脚本里切换目录?
  • 请问怎样用shell脚本编写Linux下的文件备份程序
  • 请问一下如何用shell脚本来修改文件的内容?
  • 请问在这段linux脚本里面的ccpbs是什么意思?
  • 请问,在linux中,如果用C语言在启动脚本呢?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问“当前shell”和“子shell”的区别?
  • 请问一个shell中如何获取这个shell自身抛出的错误?
  • 请问什么是shell编程?一般都用shell编程实现什么?
  • 请问,Shell中如何执行另外一个Shell脚本?
  • 请问 怎么样在C中调用一个 shell,得到shell中一个参数的值
  • 请问大家shell属于守护进程吗?
  • 请问什么是shell?
  • 请问shell能实现注册的功能吗?
  • 请问:C语言中system怎样调用shell,谢谢!急!!!!!
  • 请问在 redhat 8 kde 下面写 shell 文件怎么不能双击运行?
  • 请问linux下怎么进shell编程环境?
  • 请问在shell脚本里怎样获得文件的大小?
  • 请问交互的、不交互的shell有什么区别?
  • 请问如何在C语言中获得shell 变量
  • 请问: 怎么把jsp中用户的输入做为参数传递给shell script?!!!!!!!!
  • 请问怎样在awk里调用shell变量?
  • 请问一个shell中有关数据格式转化的问题
  • 请问在shell如何实现字符串子串运算
  • 请问有没有shell命令可以知道机器的网卡地址?
  • 请问怎么在shell中调用java程序,谢谢各位了
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3