Linuxrm里面set和echo怎么用

linux中关于echo命令的用法实例教程
原创
 11:43:23
276
的命令, 在shell中极为常用, 在终端下打印value的时候也是常常用到的, 因此有必要了解下echo的用法,下面这篇文章主要给大家介绍了关于linux中echo命令用法的相关资料,需要的朋友可以参考学习。前言对于初学者来说,掌握一些基本命令的常用用法是必须的。本文列举了echo命令的几个常用用法并加以实例说明,以作回顾、参考。基础echo命令常用作打印输出,根据echo帮助文件可以获得以下信息:语法 echo [-neE][arg…]三个参数:
-n : 关闭输出文字时的自动换行
-e : 开启转义字符功能( \ )
-E : (默认)关闭转义字符功能( \ )使用-e选项时,如果在字符串中键入以下字符,程序不会将之当成一般字符串输出,而是会使用其转义功能:
o \a 发出警告声;
o \b 前一个字符;
o \c 最后不加换行符号并抑制字符后输出;
o \f 换行但光标仍旧停留在原来的位置;
o \n 换行且光标移至行首;
o \r 光标移至行首,但不换行;
o \t 水平制表符;
o \v 垂直制表符;
o \\ 插入\字符;
o \0nnn 插入nnn(八进制)所代表的ASCII字符;NNN为0到3位八进制数字
o \xHH 插入HH(十六进制)所代表的ASCII字符;HH为1到2位十六进制数字实例1、打印输出一行字符串
2、使用”\b” 选项
相当于退格符
3、使用”\c” 选项
不打印输出\c 以后的字符,并且结果不换行(使用-n 选项只是输出结果不换行)
4、使用”\n” 选项
相当于在\n 后插入新行
5、使用”\r” 选项
回车,光标移至首位,但不换行
6、使用”\0NNN” 选项
返回八进制多代表的ASCII字符
7、使用”\xHH” 选项
返回16进制数所代表的ASCII字符
8、打印输出bash环境变量
单引号”; 双引号””; 反向单引号“强弱程度比较
从运行结果不难看出,”单引号是强引用,不完成变量替换;“反向单引号是弱引用,可以实现命令和变量替换;””双引号强弱程度据两者中间,只可以实现变量替换总结以上就是linux中关于echo命令的用法实例教程的详细内容,更多请关注php中文网其它相关文章!
江湖传言:PHP是世界上最好的编程语言。真的是这样吗?这个梗究竟是从哪来的?学会本课程,你就会明白了。
PHP中文网出品的PHP入门系统教学视频,完全从初学者的角度出发,绝不玩虚的,一切以实用、有用...
点击数(111889)
ThinkPHP是国内最流行的中文PHP开发框架,也是您Web项目的最佳选择。《php.cn独孤九贱(5)-ThinkPHP5视频教程》课程以ThinkPHP5最新版本为例,从最基本的框架常识开始,将...
点击数(109907)
《php.cn原创html5视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了HTML知识。
点击数(84367)
本套教程,以一个真实的学校教学管理系统为案例,手把手教会您如何在一张白纸上,从零开始,一步一步的用ThinkPHP5框架快速开发出一个商业项目。
点击数(83491)
所有计算机语言的学习都要从基础开始,《PHP入门视频教程之一周学会PHP》不仅是PHP的基础部分更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通...
点击数(80826)
全栈工程师
文章总浏览数
相关视频章节今天学了Linux中输入\输出的一些有效的命令,有些虽然不是很懂,但先记录下来,待以后慢慢品味
回显命令echo
#echo [option] string
常用选项:
E:禁用转义字符(默认)
e:启用转义字符
n:输出结束后不换行
用法示例:
输出字符串:#echo string
将指定的字符串输出(屏蔽转义字符) E(默认)
#echo "The first line.\nThe second line.\nField1\nField2"
启用转义字符 e
#echo -e "The first line.\nThe second line.\nField1\nField2"
输出结束后不换行 n
#echo -n "Please enter your name:"
echo命令的n选项通常与读取输入命令read一起使用
###########################################################################
接受用户输入命令read
read命令用于读取字符,读取的字符可以来自标准输入,也可以来自文件。
#read [[option]parameter] name
a:将输入的文本按字段放入数组中(默认使用的分隔符是空格或制表符Tab),数组下标从0开始
d:指定结束符,当输入中出现指定的结束符时,read命令将认为输入已经结束(默认使用换行为结束符)
e:从标准输入读取时,使用ReadLine库获取输入(此时用户可以使用退格键、方向键进行简单的行编辑操作)
n:指定读取的字符数n
p:将该选项指定的字符串输出到标准错误,并读取输入
r:将读取到的字符串按字段放到不同的变量中
s:先锁住屏幕,然后再从标准输入中读取字符(类似密码输入)
t:如果用户在指定的时间内没有输入,就结束读取状态(指定的时间以秒为单位)
u:从指定的文件描述符中读取
用法示例:
提示用户并接收输入
#echo -n "Please enter your name:";read NAME;echo "Hello $NAME"!
$为引用字符
读取多个数据并保存到数组中 a
#echo -n "Please enter your friends's name:";read -a NAME;echo "Your friends:${NAME[*]}"
指定输入结束符
#echo -n "Please enter your name:";read -d "$" NAME;echo "Hello $NAME"!
指定$为结束符
使用行编辑功能
#echo -n "Please enter your message:";read -e MESS;echo "your message is:$MESS"
指定要接收的字符长度
#echo -n "Please enter your phone number:";read -n 11 PHONE;echo -e "\nYour phone number is:"$PHONE
当用户的输入达到限定的长度时,read命令将立即结束接收输入状态
输出标准错误信息 p
编写交互式脚本时,可能需要输出错误信息并询问下一步进行的操作,这是应该使用选项p将错误信息以标准错误的方式输出,以便于用户捕获错误信息并做出判断
#read -p "Unexpected error, press Y key to continue." Fecho "Being restored, please wait...."
读取输入并保存到多个变量中 r
将读取到的字符串按字段进行分隔,并保存到多个变量中(默认的字段分隔符为空格、制表符Tab及换行),这个用法与选项a类似
#echo -n "Please enter the four string:";read -r V1 V2 V3 V4;echo -e "first:$V1\nsecond:$V2\nthird:$V3\nfourth:$V4"
可通过设置变量IFS的方法来设置分隔符
建议在使用之前,先用命令Old_IFS=$IFS保存默认分隔符,使用结束后使用命令IFS=$Old_IFS恢复默认的分隔符(一定要)
#IFS="#";echo -n "Please enter the four variables:";read -r V1 V2 V3 V4;echo -e "first:$V1\nsecond:$V2\nthird:$V3\nfourth:$V4"
#echo -n "Please enter your password:";read -s Pecho -e "\nYour password is:"$Pass
设置输入超时限制
#SE=y;echo -n "Please select yes or no[y|n]:";read -t 8 SE;echo -e "\nInput timeout,Use the default option[y]."
此时不作任何输入,等待8秒
##############################################################
显示并保存文本命令tee
将获取到的数据分为两个拷贝,一个拷贝输出到标准输出,另一个拷贝写入到指定的文件中
#...... | tee [options] filename
常用选项:
a:已追加的形式写入到文件的结尾
i:写入数据时,不写入标准错误
将指定的网络借口信息输出到屏幕的同时也写入文件中:
#ifconfig eth0 | tee eth0_info
以追加的形式将数据写入文件 a
#date | tee -a eth0_info
简单的筛选功能,忽略标准错误
#ls -l ab | tee -ia eth0_info
linux中echo的用法
1.echo命令我们常用的选项有两个,一个是-n,表示输出之后不换行,另外一个是-e,表示对于转义字符按相应的方式处理,如果不加-e那么对于转义字符会按普通字符处理。2.echo输出时的转义字符
echo命令的15个用法
echo是一种最常用的与广泛使用的内置于Linux的bash和C shell的命令,通常用在脚本语言和批处理文件中来在标准输出或者文件中显示一行文本或者字符串。
Linux shell获取时间和时间间隔(ms级别)
说明:在进行一些性能测试的时候,有时候我们希望能计算一个程序运行的时间,有时候可能会自己写一个shell脚本方便进行一些性能测试的控制(比如希望能运行N次取平均值等),总之,这其中有一个需求可能就是获...
linux echo 时间
在crontab 定时事件中, 执行过的脚本记录事件
在sh 文件中
echo $(date)
即可输出执行的事件, 同时记录到log中
Sat Jun 23 15:...
功能说明:读取标准输入的数据,并将其内容输出成文件。
语  法:tee [-ai][--help][--version][文件...]
补充说明:tee指令会从标准输入设备读取数据,将其内容输出到...
`符号包含的命令执行完后,可以讲其输出结果保存到变量中
#!/bin/bash
v=`java -version`
执行结果:
$ ./inst...
如果你在linux下希望将程序或命令运行的信息,在输入到文件的同时,也能够显示在屏幕上,你可以考虑使用tee这个命令。
下图是对这个命令的形象介绍:
上图的解释是:ls -l 的输出重定向到 ...
#include &tlpi_hdr.h&
#define BUF_SIZE 1024
int main(int argc,char**...
位置参数和特殊变量有很多特殊变量是被Shell自动赋值的,我们已经遇到了$?和$1。其他常用的位置参数和特殊变量在这里总结一下:$0 相当于C语言main函数的argv[0]
$1、$2...这些称...
没有更多推荐了,
(window.slotbydup=window.slotbydup || []).push({
id: "5865577",
container: s,
size: "300,250",
display: "inlay-fix"linux中set的用法_百度知道
linux中set的用法
我知道set不加选项直接加参数的话是设置位置变量例如set123echo$1结果输出123那么如果加上选项呢,最好举个例子说明一下set在shell中的作用PS:set有哪些选项我都知道只是不太了解它在...
我知道set不加选项直接加参数的话是设置位置变量例如set 123echo $1结果输出123那么如果加上选项呢,最好举个例子说明一下 set在shell中的作用PS:set有哪些选项我都知道只是不太了解它在shell中的作用 求解!!
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
lijingsandy
lijingsandy
采纳数:222
获赞数:14636
set 命令功能说明:设置shell。语  法:set [+-abCdefhHklmnpPtuvx]补充说明:用set 命令可以设置各种shell选项或者列 出shell变量.单个选项设置常用的特性.在某些选项之后-o参数将特殊特性打开.在某些选项之后使用+o参数将关闭某些特性,不带任何参数的set命 令将显示shell的全部变量.除非遇到非法的选项,否则set总是返回ture.参  数:allexport
从设置开始标记所有新的和修改过的用于输出的变量
braceexpand
允许符号扩展,默认选项
在进行命令编辑的时候,使用内建的emacs编辑器, 默认选项errexit
如果一个命令返回一个非0退出状态值(失败),就退出.histexpand
在做临时替换的时候允许使用!和!! 默认选项history
允许命令行历史,默认选项ignoreeof
禁止coontrol-D的方式退出shell,必须输入exit。interactive-comments
在交互式模式下, #用来表示注解keyword
为命令把关键字参数放在环境中monitor
允许作业控制noclobber
保护文件在使用重新动向的时候不被覆盖noexec
在脚本状态下读取命令但是不执行,主要为了检查语法结构。noglob
禁止路径名扩展,即关闭通配符
在后台作业以后通知客户nounset
在扩展一个没有的设置的变量的时候,
显示错误的信息
在读取并执行一个新的命令后退出
如果被设置,则在使用pwd和cd命令时不使用符号连接的路径 而是物理路径posix
改变shell行为以便符合POSIX要求privileged
一旦被设置,shell不再读取.profile文件和env文件 shell函数也不继承任何环境verbose
为调试打开verbose模式vi
在命令行编辑的时候使用内置的vi编辑器xtrace
打开调试回响模式 设置系统环境变量在本站下面这两篇文章中有详细说明:设置环境变量永久生效 export PS1 :扩展阅读:set,env和export这三个命令都可以用来显示shell变量,其区别?set 用来显示本地变量env 用来显示环境变量export 用来显示和设置环境变量set 显示当前shell的变量,包括当前用户的变量env 显示当前用户的变量export 显示当前导出成用户变量的shell变量每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,当前用户变量和你用什么shell无关,不管你用什么shell都在,比如HOME,SHELL等这些变量,但shell自己的变量不同shell是不同的,比如BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的,export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变量可以通过export “导出”变成一个用户变量[root@linux ~]# aaa=bbb[root@linux ~]# echo $aaabbb[root@linux ~]# set|grep aaaaaa=bbb[root@linux ~]# env|grep aaa[root@linux ~]# export aaa[root@linux ~]# env|grep aaaaaa=bbb扩展资料二:set、env、export——Linux中的环境变量命令Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境 变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。什么是环境变量环境变量是一个具有 特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。许多用户(特别是那些刚接触Linux的新手)发现这些变量有些怪异或者难以控制。其 实,这是个误会:通过使用环境变量,你可以很容易的修改一个牵涉到一个或多个应用程序的配置信息。常见的环境变量对于 PATH和HOME等环境变量大家都不陌生。PATH能够指定命令的搜索路径,那么动态链接库的路径用什么变量指定呢?或者就是在 PATH里面?比如有一个程序需要/usr/local/lib下面的一个库文件,应该怎么指定其路径呢?经常看到有些变量如 LD_LIBRARY_PATH,LIBPATH,CLASSPATH等,他们之间有什么不同和关系?除此之外,还有下面一些常见环境变 量。◆ HISTSIZE是指保存历史命令记录的条数。◆ LOGNAME是指当前用户的登录名。◆ HOSTNAME是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。◆ SHELL是指当前用户用的是哪种Shell。◆ LANG/LANGUGE是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。◆ MAIL是指当前用户的邮件存放目录。◆ PS1是基本提示符,对于root用户是#,对于普通用户是$。PS2是附属提示符,默认是“&”。可以通过修改此环境变量来修改当前的命令符,比 如下列命令会将提示符修改成字符串“Hello,My NewPrompt
set用来设置和修改内部变量。如果set后不加任何参数则会列出所有的变量及其值。另外set还用来设置位置参数$ set +o history # To disable the history storing.+o disables the given options.$ set -o history-o enables the history$ cat set.shvar=&Welcome to senotes&set -- $varecho &\$1=& $1echo &\$2=& $2echo &\$3=& $3$ ./set.sh$1=Welcome$2=to$3=senotesunsetunset可以清空shell变量。另外它还可以删除数组元素甚至整个数组$ cat unset.sh#!/bin/bash#Assign values and print itvar=&welcome to senotes&echo $var#unset the variableunset varecho $var$ ./unset.shwelcome to senotes$cat arraymanip.sh#!/bin/bashUnix=('Debian' 'Red hat' 'Ubuntu' 'Suse' 'Fedora' 'UTS' 'OpenLinux');unset Unix[3]echo ${Unix[3]}$cat arraymanip.sh#!/bin/bashUnix=('Debian' 'Red hat' 'Ubuntu' 'Suse' 'Fedora' 'UTS' 'OpenLinux');Shell=('bash' 'csh' 'jsh' 'rsh' 'ksh' 'rc' 'tcsh');UnixShell=(&${Unix[@]}& &${Shell[@]}&)unset UnixShellecho ${#UnixShell[@]}$ ./arraymanip.sh0
本回答被网友采纳
你man 下set命令、或者set --help
男人一下set,。O了
其他1条回答
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。linux shell命令行选项与参数用法详解
&更新时间:日 10:18:47 & 作者:
本文介绍了linux shell中使用命令行选项与命令行参数的方法,在bash中,可以用以下三种方式来处理命令行参数,每种方式都有自己的应用场景
问题描述:在linux shell中如何处理tail -n 10 access.log这样的命令行选项?在bash中,可以用以下三种方式来处理命令行参数,每种方式都有自己的应用场景。1,直接处理,依次对$1,$2,...,$n进行解析,分别手工处理;2,getopts来处理,单个字符选项的情况(如:-n 10 -f file.txt等选项);3,getopt,可以处理单个字符选项,也可以处理长选项long-option(如:--prefix=/home等)。总结:小脚本手工处理即可,getopts能处理绝大多数的情况,getopt较复杂、功能也更强大。1,直接手工处理位置参数必须要要知道几个变量, 代码如下: && *&&& $0 :即命令本身,相当于c/c++中的argv[0]&&& *&&& $1 :第一个参数.&&& *&&& $2, $3, $4 ... :第2、3、4个参数,依次类推。&&& *&&& $#& 参数的个数,不包括命令本身&&& *&&& $@ :参数本身的列表,也不包括命令本身&&& *&&& $* :和$@相同,但"$*" 和 "$@"(加引号)并不同,"$*"将所有的参数解释成一个字符串,而"$@"是一个参数数组。 手工处理方式能满足多数的简单需求,配合shift使用也能构造出强大的功能,但处理复杂选项时建议用下面的两种方法。例子,(getargs.sh): 代码如下:#!/bin/bashif [ $# -lt 1 ]; then&&& echo "error.. need args"&&& exit 1fiecho "commond is $0"echo "args are:"for arg in "$@"do&&& echo $argdone运行命令: 代码如下:./getargs.sh 11 22 cccommond is ./getargs.shargs are:1122cc2,getopts (shell内置命令)处理命令行参数是一个相似而又复杂的事情,为此,c提供了getopt/getopt_long等函数,c++的boost提供了options库,在shell中,处理此事的是getopts和getopt。getopts/getopt的区别,getopt是个外部binary文件,而getopts是shell builtin。 代码如下:[root@jbxue ~]$ type getoptgetopt is /usr/bin/getopt[root@jbxue ~]$ type getoptsgetopts is a shell builtingetopts不能直接处理长的选项(如:--prefix=/home等)关于getopts的使用方法,可以man bash& 搜索getoptsgetopts有两个参数,第一个参数是一个字符串,包括字符和“:”,每一个字符都是一个有效的选项,如果字符后面带有“:”,表示这个字符有自己的参数。getopts从命令中获取这些参数,并且删去了“-”,并将其赋值在第二个参数中,如果带有自己参数,这个参数赋值在“optarg”中。提供getopts的shell内置了optarg这个变变,getopts修改了这个变量。这里变量$optarg存储相应选项的参数,而$optind总是存储原始$*中下一个要处理的元素位置。while getopts ":a:bc" opt& #第一个冒号表示忽略错误;字符后面的冒号表示该选项必须有自己的参数例子,(getopts.sh): 代码如下:echo $*while getopts ":a:bc" optdo&&&&&&& case $opt in&&&&&&&&&&&&&&& a ) echo $optarg&&&&&&&&&&&&&&&&&&& echo $;&&&&&&&&&&&&&&& b ) echo "b $optind";;&&&&&&&&&&&&&&& c ) echo "c $optind";;&&&&&&&&&&&&&&& ? ) echo "error"&&&&&&&&&&&&&&&&&&& exit 1;;&&&&&&& esacdoneecho $optindshift $(($optind - 1))#通过shift $(($optind - 1))的处理,$*中就只保留了除去选项内容的参数,可以在其后进行正常的shell编程处理了。echo $0echo $*执行命令: 代码如下:./getopts.sh -a 11 -b -c-a 11 -b -c113b 4c 55./getopts.sh3,getopt(一个外部工具)具体用用法可以 man getopt#-o表示短选项,两个冒号表示该选项有一个可选参数,可选参数必须紧贴选项,如-carg 而不能是-c arg#--long表示长选项例子,(getopt.sh): 代码如下:#!/bin/bash# a small example program for using the new getopt(1) program.# this program will only work with bash(1)# an similar program using the tcsh(1) script. language can be found# as parse.tcsh# example input and output (from the bash prompt):# ./parse.bash -a par1 'another arg' --c-long 'wow!*\?' -cmore -b " very long "# option a# option c, no argument# option c, argument `more'# option b, argument ` very long '# remaining arguments:# --& `par1'# --& `another arg'# --& `wow!*\?'# note that we use `"$@"' to let each command-line parameter expand to a# separate word. the quotes around `$@' are essential!# we need temp as the `eval set --' would nuke the return value of getopt.#-o表示短选项,两个冒号表示该选项有一个可选参数,可选参数必须紧贴选项#如-carg 而不能是-c arg#--long表示长选项#"$@"在上面解释过# -n:出错时的信息# -- :举一个例子比较好理解:#我们要创建一个名字为 "-f"的目录你会怎么办?# mkdir -f #不成功,因为-f会被mkdir当作选项来解析,这时就可以使用# mkdir -- -f 这样-f就不会被作为选项。temp=`getopt -o ab:c:: --long a-long,b-long:,c-long:: \&&&& -n 'example.bash' -- "$@"`if [ $? != 0 ] ; then echo "terminating..." &&2 ; exit 1 ; fi# note the quotes around `$temp': they are essential!#set 会重新排列参数的顺序,也就是改变$1,$2...$n的值,这些值在getopt中重新排列过了eval set -- "$temp"#经过getopt的处理,下面处理具体选项。 do&&&&&&& case "$1" in&&&&&&&&&&&&&&& -a|--a-long) echo "option a" ;;&&&&&&&&&&&&&&& -b|--b-long) echo "option b, argument \`$2'" ; shift 2 ;;&&&&&&&&&&&&&&& -c|--c-long)&&&&&&&&&&&&&&&&&&&&&&& # c has an optional argument. as we are in quoted mode,&&&&&&&&&&&&&&&&&&&&&&& # an empty parameter will be generated if its optional&&&&&&&&&&&&&&&&&&&&&&& # argument is not found.&&&&&&&&&&&&&&&&&&&&&&& case "$2" in&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& "") echo "option c, no argument"; shift 2 ;;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& *)& echo "option c, argument \`$2'" ; shift 2 ;;&&&&&&&&&&&&&&&&&&&&&&&;&&&&&&&&&&&&&&& --);&&&&&&&&&&&&&&& *) echo "internal error!" ; exit 1 ;;&&&&&&& esacdoneecho "remaining arguments:"for arg do&& echo '--& '"\`$arg'" ;done运行命令: 代码如下:./getopt.sh --b-long abc -a -c33 remainoption b, argument `abc'option aoption c, argument `33'remaining arguments:--& `remain'以上就是有关linux shell命令行选项与参数用法的详细内容,希望对大家有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具linux中的命令echo $?代表什么意思呢?_百度知道
linux中的命令echo $?代表什么意思呢?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
采纳数:65
获赞数:132
擅长:暂未定制
显示当前命令的返回值
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 Linux命令echo 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信