shell脚本中的$*,$@和$#分别是啥意思?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本中的$*,$@和$#分别是啥意思?相关的知识,希望对你有一定的参考价值。
参考技术Ashell脚本中的$*,$@和$#分别是什么意思?
举例说:
脚本名称叫test.sh 入参三个: 1 2 3
运行test.sh 1 2 3后
$*为"1 2 3"(一起被引号包住)
$@为"1" "2" "3"(分别被包住)
$#为3(参数数量)
shell脚本中wc是什么意思?
wc(word count)
功能说明:计算字数。
语法:wc [-clw][--help][--version][文件...]
补充说明:利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。
参数:
-c或--bytes或--chars 只显示Bytes数。
-l或--lines 只显示列数。
-w或--words 只显示字数。
--help 在线帮助。
--version 显示版本信息。
shell脚本中的DIR=$3:0:12是什么意思?
取调用脚本时第三个参数的前12个字符组成的子串
$3表示第三个参数,$3:0:12表示从第三个参数第0个字符开始取12个字符
shell脚本中的$<是什么意思?谢谢!
看你问了几次类似的问题,干脆总结一下吧。
这些都是makefile的内建命令,含义如下:
$@ target
$% file name of an archive member
$< first prerequisite
$? prerequisites newer than target
$^ prerequisites
$+ similar to $^, including duplicates
$* stem of the target filename
shell脚本中\\t是什么意思
- \\t 是一个转义字符就像\\n是表示换行,\\t表示一个制表符,说白一点就是在文本框里输入信息时敲了下Tab键
下面是这些字符及其含义:
\\bBackspace
\\c显示后不换行
\\f在终端上屏幕的开始处显示
\\n换行
\\r回车
\\t制表符
\\v垂直制表符
\\ 反斜框
\\0nnn 用1,2或3位8进制整数表示一个ASCII码字符
\\t例子:
echo -e "a\\tb"
输出的就是a b,a与b中间的空位就是水平制表(制表符)。
推荐参考书籍:Shell脚本学习指南
&2在shell脚本中是什么意思
在Unix/Linux里面执行的程式打印到银幕上有两个不同的路泾,一个是stdout(standard output),另一个是stderr(standard error)。这两者虽然平时都同样的显示在屏幕上,但是如果你想把他们存入文件档案里时,他们可以单独的存入不同的文档,例如:
# 把 programA 执行结果的 stdout 存入 A.out 文档
# 也把所有的 stderr 存入 A.err 文档里面:
$ programA >A.out 2>A.err
# 在上面这个例子里,2 代表的是程序 programA 它的 stderr 输出路径
# 下面这个例子里,是把 stderr 汇流到 stdout 里面:
programA >A.out2 2>&1
# 上面执行的结果是 both stderr 和 stdout 通通存档到 A.out2 文档
shell脚本中这段是什么意思?, shell脚本中.$1语句是什么意思
$+数字 一般是位置参数的用法。
如果运行脚本的时候带参数,那么可以在脚本里通过 $1 获取第一个参数,$2 获取第二个参数......依此类推,一共可以直接获取9个参数(称为位置参数)。$0用于获取脚本名称。
. $1中的点是执行的意思。
例如在liunx中。
执行sh脚本就可以直接使用 “. +文件名”的方式
linux的shell脚本中的set是什么意思?怎么理解
set命令作用主要是显示系统中已经存在的shell变量,以及设置shell变量的新变量值。使用set更改shell特性时,符号"+"和"-"的作用分别是打开和关闭指定的模式。set命令不能够定义新的shell变量。如果要定义新的变量,可以使用declare命令以变量名=值的格式进行定义即可。使用:set(选项)(参数)
例如:
declare mylove=\'Visual C++\' #定义新环境变量
再使用set命令将新定义的变量输出为环境变量,输入如下命令: set -a mylove
标示已修改的变量,以供输出至环境变量。
-b:使被中止的后台程序立刻回报执行状态
-C:转向所产生的文件无法覆盖已存在的文件
-d:Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消。
-e:若指令传回值不等于0,则立即退出shell。
-f:取消使用通配符。
-h:自动记录函数的所在位置。
-H Shell:可利用"!"加<指令编号>的方式来执行history中记录的指令。
-k:指令所给的参数都会被视为此指令的环境变量。
-l:记录for循环的变量名称。
-m:使用监视模式。
-n:只读取指令,而不实际执行。
-p:启动优先顺序模式。
-P:启动-P参数后,执行指令时,会以实际的文件或目录来取代符号连接。
-t:执行完随后的指令,即退出shell。
-u:当执行时使用到未定义过的变量,则显示错误信息。
-v:显示shell所读取的输入值。
-x:执行指令后,会先显示该指令及所下的参数。
shell脚本中make clean命令是什么意思?
清除掉上一次编译留下的中间文件及结果,然后重新编译。
以上是关于shell脚本中的$*,$@和$#分别是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
UNIX shell 脚本中的“#!/bin/sh”行是啥意思?
`echo $1 sed 's/[[:print:]]\40\$//' ` 是啥意思啊?