[保留] typeset的常见用法


http://www.chinaunix.net 作者:寂寞烈火  发表于:2007-12-16 09:50:34
【发表评论】 【查看原文】 【Shell讨论区】【关闭】

typeset用于设置变量属性,如大小写,宽度,左右对齐等都可以用typeset来控制, 当用typeset改变一个变量的属性时,这种改变是永久的,下面以ksh为例,演示typeset的几种典型用法

1,无选项的执行typeset,则显示所有变量 
/home/lee#typeset 
typeset COLORS 
typeset -x COLORTERM 
typeset -x DISPLAY 
typeset -x GDMSESSION 
typeset -x GNOME_DESKTOP_SESSION_ID 
typeset -x GTK_RC_FILES 
typeset -x G_BROKEN_FILENAMES 
typeset -x HISTSIZE 
typeset -x HOME 
typeset -x HOSTNAME 
typeset IFS 
typeset -x INPUTRC 
typeset -r KSH_VERSION 
typeset -x LANG 
typeset -x LANGUAGE 
typeset -x LESSOPEN 
typeset -x LOGNAME 
typeset -x LS_COLORS 
typeset -x MAIL 
typeset -i MAILCHECK 
typeset -i OPTIND 
typeset -x PATH 
typeset -i PPID 
typeset -x PS1 
typeset PS2 
typeset PS3 
typeset PS4 
typeset -x PWD 
typeset -i RANDOM 
typeset -i SECONDS 
typeset -x SESSION_MANAGER 
typeset -x SHELL 
typeset -x SHLVL 
typeset -x SSH_AGENT_PID 
typeset -x SSH_ASKPASS 
typeset -x SSH_AUTH_SOCK 
typeset SUPPORTED 
typeset -x TERM 
typeset -i TMOUT 
typeset -x USER 
typeset -x USERNAME 
typeset -x WINDOWID 
typeset -x XAUTHORITY 
typeset -x XMODIFIERS 
typeset _

2:typeset的-u选项可以将一个变量的字符变成大写 
/home/lee#typeset -u var=abc 
/home/lee#echo $var 
ABC

3:typeset的-l选项将一个变量的字符变成小写 
/home/lee#typeset -l var=ABC 
/home/lee#echo $var 
abc

4:typeset的-L选项把变量变成一个左对齐的4个字符串,有些像字符串截取 :-) 
/home/lee#typeset -L4 var=abcdefg 
/home/lee#echo $var 
abcd

5:typeset的-R选项把变量变成一个右对齐的4个字符串 
/home/lee#typeset -R4 var=abcdefg 
/home/lee#echo $var 
defg

6:typeset的-Z选项把串变成一个空填充,占15个字符位的串,冒号用来保护空白符 
/home/lee#typeset -Z15 var="abc ddd" 
/home/lee#echo "$var" 
^^^^^^^^abc ddd #^为空白 
/home/lee#typeset -LZ15 var="abc 123" 
/home/lee#echo "$var$var" 
abc 123 abc 123

7:变量n是一个被设置成一个整数的变量,typeset命令将整数n前面补齐0,共15个字符位 
/home/lee#typeset -i n=24 
/home/lee#typeset -Z15 n 
/home/lee#echo $n 
000000000000024

8:变量answer被给定一个值--Yes并变成一个小写,左对齐,一个字符的串 
/home/lee#typeset -lL1 answer=Yes 
/home/lee#echo $answer 
y

typeset其他用法: 
typeset -i num #强制num为一个整数,如: 
/home/lee#typeset -i num=10 
/home/lee#echo $num 
10 
/home/lee#typeset -i16 num=10 
/home/lee#echo $num 
16#a 
/home/lee#typeset -i2 num=10 
/home/lee#echo $num 
2#1010 
/home/lee#typeset -i8 num=10 
/home/lee#echo $num 
8#12

typeset -x #显示被导出的变量 
typeset a b c #如果在一个函数里定义,则把a b c创建为局部变量 
typeset -r x=var#设置一个只读变量

typeset的常见用法相关推荐

  1. mysql中正则表达式的用法_Mysql中正则表达式Regexp常见用法

    Mysql中Regexp常见用法 模糊匹配,包含特定字符串 # 查找content字段中包含"车友俱乐部"的记录 select * from club_content where ...

  2. python六:常见数据类型以及常见用法

    bool 布尔值 # 在bool中 0,()(空元祖),[](空列表),{}(空字典),None,""(空字符串) 都是False int 整形 float 浮点型 str 字符串 ...

  3. vue-router 的常见用法

    vue-router 的常见用法 1. 路由重定向 路由重定向指的是:用户在访问地址 A 的时候,强制用户跳转到地址 C ,从而展示特定的组件页面. 通过路由规则的 redirect 属性,指定一个新 ...

  4. 空的宏定义作用及常见用法

    空的宏定义作用及常见用法 我们学习宏定义的第一个概念是,宏定义作为替换作用. 例如: #define SIZE 32 // 接下来代码使用SIZE就相当于32 宏定义是编译器在编译时,将程序中所有SI ...

  5. Arrays常见用法

    Arrays常见用法

  6. sed文本处理常见用法

    sed文本处理常见用法    2011-06-24  TsengYia#126.com http://tsengyia.blog.chinaunix.net/   ################## ...

  7. 框架前期准备篇之AutoFac常见用法总结 转载

    框架前期准备篇之AutoFac常见用法总结 一. 说在前面的话 凡是大约工作在两年以上的朋友们,或多或少都会接触到一些框架搭建方面的知识,只要一谈到框架搭建这个问题或者最佳用法这个问题,势必会引起一点 ...

  8. Java集合Collection与List的关系、常见用法

    关系树 [java] view plain copy print? ---|Collection: 单列集合 ---|List: 有存储顺序, 可重复 ---|ArrayList: 数组实现, 查找快 ...

  9. sscanf的常见用法

    例子:  1. 常见用法.  char buf[512] = ;  sscanf("123456 ", "%s", buf);  printf("%s ...

最新文章

  1. MyBatis 框架下 SQL 注入攻击的 3 种方式,真是防不胜防!
  2. 新手探索NLP(十五)——终章
  3. python3命令行运行程序怎么关闭_python中怎样退出程序运行?
  4. javascript框架比较(一)
  5. LINQ中的Lambda表达式
  6. Retrofit:类型安全的REST客户端for 安卓Java
  7. staruml java_非常详细的StarUML使用教程,推荐阅读!
  8. 《凤凰项目-一个IT运维从传奇故事》总结
  9. foxmail邮箱pop3服务器,Foxmail怎么设置POP3邮箱
  10. unity交通仿真_自动驾驶仿真该怎么玩
  11. 如何使用FreeTime将Android或Fire Tablet变成适合儿童使用的设备
  12. VC6.0实现网络编程弹出一个消息框
  13. 元素地球化学类毕业论文文献有哪些?
  14. 2020蓝桥杯模拟赛题目解析(上)
  15. python 实践--新闻聚合
  16. [Vue]非父子组件传值(bus/总线/观察者模式/发布订阅模式)
  17. 这是一个个人的“云图库”
  18. 随机森林提取sentinel1样本的制作
  19. 【正点原子MP157连载】第二十四章 设备树下的LED驱动实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
  20. Idea插件开发之Gradle

热门文章

  1. 比git更加方便快捷的GitHub 仓库管理工具GitHub desktop
  2. 为什么我的理论和实践之间的差距相对较大
  3. Educational Codeforces Round 37 (Rated for Div. 2)
  4. 浅谈iOS 开发中的界面通信
  5. 阿里云迁云方式大汇总
  6. 理解Vue深度响应原理
  7. NumPy基础入门学习
  8. Linux操作系统安装---centos6.7安装图文实例详解(完整版)
  9. Font Awesome 完美的图标字体
  10. Unix/Linux下文件基本操作[zt]