首页建站SHELLDECLARE(shell中declare)

SHELLDECLARE(shell中declare)

编程之家2024-01-27110次浏览

一、linux中declare的详细解释及例子

declare

SHELLDECLARE(shell中declare)

核心语法:

-i声明为整数

-a声明未数组

-f声明未函数

-r声明未只读

以上是较为常用的,当然其他的可以通过 man declare来获得

SHELLDECLARE(shell中declare)

在默认情况下我们对于对象的声明字符串,若是希望得到数字整形类型的变量,那么就需要涉及到这次将的declare

我们看个情况:

price=10

num=3

echo$price*num

----------

SHELLDECLARE(shell中declare)

10*3

若是申明为declare的话,那么就如下所示

inter12@inter12:/tmp$ declare-i price=10;

inter12@inter12:/tmp$ declare-i num=3;

inter12@inter12:/tmp$ declare-i total=$price*$num

inter12@inter12:/tmp$ echo$total

30

其实针对declare还存在另一种方式来处理,直接来看代码

1#!/bin/bash

2#test declare and$(())

3

4

5 userDeclare(){

6

7 declare-i num=1;

8 declare-i price=5;

9 declare-i total=$num*$price

10 echo'declare style is result is'$total;

11}

12

13

14 userDouble(){

15

16 num_d=1

17 price_d=5

18 total_d=$((num_d*price_d))

19 echo"user double price is"$total_d

20}

21

22

23 userDeclare

24 userDouble

-----------------------------------------------

inter12@inter12:~/myshell/shell/declare$./test

declare style is result is 5

user double price is 5

$((num_d*price_d)):代表执行其中的计算并返回结果,若为((num_d*price_d))则计算不返回结果,这里需要注意下!

交互式的命令 read

这也是个很常用的命令,根据终端用户的不同输入,执行不同的脚本命令!

1#!/bin/bash

2

3 echo'---------------this is the first line---------------'

4 echo'1.echo heihei while you selectd 1'

5 echo'2.echo haha while you selectd 2'

6 echo-n'Selections is'

7 read selection

8

9 if [$selection="1" ];then

10 echo'heihei'

11 elif [$selection="2" ];then

12 echo'haha'

13 else

14 echo'invalid option'

15 fi

二、shell脚本中数组的基本用法

首先要告诉大家,Bash Shell只支持一维数组,而且初始化的时候不用定义数组的大小。

(一)定义数组,方法1:使用小括号赋值

       array1=(A B C D)或者array1=("A""B""C""D")

      定义数组,方法2:使用数组下表挨个赋值

       array2[0]=a

       array2[1]=b

      可能会有朋友会问问什么不用declare声明也能用,在这跟大家拓展下,所有变量不用显式定义都能用作数组,所以用不用declare声明都可以

(二)读取数组

      ${array[下标值]},例如:${array1[2]}

      若要获取数组中全部的值,使用${array[*]}或者${array[@]}

(三)获取数组长度  ${#array1[*]},关键在加了个#

(四)删除数组内容元素  unset ${array1[下标]},删除整个数组   unset array1

三、shell脚本中的$*,$@和$#分别是什么意思

shell脚本中的$*,$@和$#分别是什么意思?

举例说:

脚本名称叫test.sh入参三个: 1 2 3

运行test.sh 1 2 3后

$*为"1 2 3"(一起被引号包住)

$@为"1""2""3"(分别被包住)

$#为3(参数数量)

shell脚本中wc是什么意思?

wc(wordcount)

功能说明:计算字数。

语法: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"

输出的就是ab,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命令是什么意思?

清除掉上一次编译留下的中间文件及结果,然后重新编译。

adventureworks2008(关于AdventureWorks2008)vista sp2系统下载(安装Windows Vista Service Pack 2 (SP2))