设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 综合讨论区 —— LinuxSir.cn
›
shell进阶应用、shell编程
›
请教javalee
返回列表
查看:
914
|
回复:
4
请教javalee
[复制链接]
chg1226
chg1226
当前离线
积分
24
IP卡
狗仔卡
发表于 2003-8-21 16:53:24
|
显示全部楼层
|
阅读模式
在阁下的脚本里常看到这样的变量
#(VAR),有中括号,有大括号,为什么要加括号呢,有什么用呢?谢谢了。
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
KornLee
KornLee
当前离线
积分
6960
IP卡
狗仔卡
发表于 2003-8-21 19:13:37
|
显示全部楼层
回复: 请教javalee
最初由 chg1226 发表
在阁下的脚本里常看到这样的变量
#(VAR),有中括号,有大括号,为什么要加括号呢,有什么用呢?谢谢了。
各种括号的用途不同,如:
$var=$(ls) <=圆括号的常见用法,是将ls的输出赋值给变量var
$echo $var <=显示这个变量var的内容
$array=(a b c) <=这个圆括号则表示用于建立数组
$echo ${array
} <=这里的大括号和$组合表示显示数组内容,方括号
则表示是显示数组中的所有元素
$echo ${array[0]} <=显示数组中的第一个元素,(数组的下标以0开始的)
$a=123
$echo ${a:-456} <=这样的用法是用于变量表达式和修饰符
123
...
总之,他们的用法很多,不同的shell对符号的定义也不尽相同,但是基本相似!这些都是我们学习shell所必备的基础.
回复
支持
反对
使用道具
举报
显身卡
chg1226
chg1226
当前离线
积分
24
IP卡
狗仔卡
楼主
|
发表于 2003-8-22 09:40:07
|
显示全部楼层
谢谢,,不过还是有点疑问
$var=$(ls) 和var=`ls`的用法完全相同吗,结果好像是完全相同的.
还有就是建立数组,
用set 和shift来建立和引用,和阁下说的哪个要好些呢,
再次表示感谢!!!
回复
支持
反对
使用道具
举报
显身卡
KornLee
KornLee
当前离线
积分
6960
IP卡
狗仔卡
发表于 2003-8-22 10:49:42
|
显示全部楼层
1,var=$(...)是最新的写法var=`...`比较陈旧的写法,功能基本相同,但是从阅读方便度上来说$(...)要比`...`好.尤其当有多个嵌套的替换的时候.
2,数组的问题跟你用的shell版本有关,如KSH是用set -A array a b c来建立,而BASH比较直接,array=(a b c),在历遍数组中,shift是个隐含的操作,这要取决你的喜好.
回复
支持
反对
使用道具
举报
显身卡
chg1226
chg1226
当前离线
积分
24
IP卡
狗仔卡
楼主
|
发表于 2003-8-25 08:52:10
|
显示全部楼层
多谢javalee,
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
Gentoo Linux
Linux 专业英文精品技术文档专题
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表