加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

编写高效优越Bash剧本的提议

发布时间:2021-06-02 16:57:11 所属栏目:教程 来源:互联网
导读:变量赋值 在bash中变量赋值凭证下面的方法: VARIABLE=2 而且你可以行使$VARIABLE(变量名)来引用变量。必要留意的是不要在=运算符的双方安排空格符,好比VARIA

在bash中变量赋值凭证下面的方法:

VARIABLE=2

而且你可以行使$VARIABLE(变量名)来引用变量。必要留意的是不要在=运算符的双方安排空格符,好比VARIABLE= 2、VARIABLE = 2、可能VARIABLE =2,这并不是语法错误,可是将会做完全不必要的工作(好比试图运行一个名字为2的措施,并将情形变量VARIABLE配置为空字符串)。

Bash变量并不要叱责部大写,可是凡是是大写的。

大大都你所行使的bash变量都是字符串。在bash中也有一些数组变量,但我并不是完全领略它们。

行使${}引用变量

偶然某些变量,内容为file.txt,而且我想这样行使它:

mv $MYVAR $MYVAR__bak # wrong!

这段代码是无法事变的!它会去查找 MYVAR__bak变量,但这并不是一个真实存在的变量。

为了停止相同题目,你必要知道的仅仅是 ${MYVAR}和$MYVAR是一回事。以是你可以这样运行指令:

mv $MYVAR ${MYVAR}__bak # right!

全局变量,局部变量和情形变量

Bash有3种变量。我一样平常先想到(也许也是最常用)的是 情形变量 。

Linux上的每个历程现实上都有情形变量(您可以运行env查察当前配置的变量),但在Bash中,它们更易于会见。要查察名为MYVAR的情形变量,可以运行

echo "$MYVAR"

要配置情形变量,您必要行使export要害字:

export MYVAR=2

配置情形变量时,全部子历程将看到该情形变量。以是假如你运行export MYVAR=2; python test.py,python措施将MYVAR配置为2。

第二种变量是 全局变量 。同样像上面那样赋值。

MYVAR=2

在其他编程说话中他们示意得像全局变量。

尚有 局部变量 ,它们的浸染域只能存在于bash函数中。 我根基上从来没有行使过这样的函数(不像我写的其他编程说话),我从来没有行使过局部变量。

for轮回

以下是我在bash中编写轮回的要领。 此轮回将从1打印到10。

for i in `seq 1 10` # you can use {1..10} instead of `seq 1 10` do echo "$i" done

假如你想用一行代码写这个轮回,可以这样写:

for i in `seq 1 10`; do echo $i; done

我认为这是不行能记着的(你要怎么记着在 seq 1 10 之后有一个分号,可是在 do 之后却没有了),以是我不会去记它。

你也可以写while轮回,但我从来没有这样写过。

有个很酷的工作是你可以遍历另一个呼吁的输出。seq 1 10 将数字从1到10(每行一个)打印,这个for轮回只是提取该输出并遍历它。我就常常用这种要领。

您也可以行使反引号或$()来插入呼吁的输出。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读