Linux shell 学习(一)

在linux shell 赋值和判断都是等号来表示,它是通过空格来区别二者的不同,var=value表示赋值,等号的左右两边没有空格,而判断var = value,等号的左右两边都有空格

环境变量是未在当前的进程中定义,而从父进程中继承而来的变量。export 命令用来设置环境变量,支持之后,从当前的shell脚本执行的任何应用程序都会继承这个变量。

我们可以按照自己的需要,在执行的应用程序或者shell脚本中导出特定的变量。

export PATH=“$PATH:/home/user/bin” 这里的冒号相当于windows中环境变量的分号,是一种路径分隔符。

1.命令行执行结果重定向输入到文件中

cmd > file

>等同于1>;对于>>情况也类似(即>>等同于1>>)这里的1表示文件描述符也是默认情况的下的标准输出的文件描述符。

ls +  2>stderr.txt 表示标准错误输出重定向到stderr.txt文件中

当一个命令发生错误并退出时,它会返回一个非0的退出状态,退出状态可以从特殊变量$?中获取。

2.将文件重定向到命令行

cmd < file

3.数组的定义和使用

#!/bin/bash
array_var1=(1 2 3 4 5) #一对括号表示是数组,数组元素用“空格”符号分割开,数组下标从零开始

array_var2[0]="value1"
array_var2[1]="value2" 

#访问数组
echo ${array_var1[0]}
echo  ${array_var2[0]}
#以清单的形式打印出数组的所有元素
echo "The array_var1 elements:" ${array_var1[*]}
echo "The array_var2 elements:" ${array_var2[*]}
#打印数组的长度
echo "The array_var1 len:" ${#array_var1[*]}
echo "The array_var2 len:" ${#array_var2[*]}

关联数组从Bash4.0版本开始被引入,所谓的关联数组就是可以用任意文本作为数组索引。借助散列技术,关联数组成为解决很多问题的有力工具。
下面给出关联数组的定义和使用:
#!/bin/bash
declare -A ass_array #声明一个关联数组
ass_array['李小明']="09713011" #关联数组姓名和学号进行关联
ass_array['何旭']="09713012"
#访问关联数组

echo "李小明 学号 ${ass_array[李小明]}"


4.函数和参数

Bash同样支持函数,其函数可以定义如下:
function bash_function()
{
     echo "function";
}
只要使用函数名就可以调用某个函数。如:bash_function ;
这里也可以传递参数给函数,如:bash_function arg1 arg2 ; #传递两个参数给函数,函数中可以使用如下方式访问函数参数
#!/bin/bash
function  bash_function()
{
  echo '$0=' $0;#$0表示在命令行中输入运行的脚本名称
  echo  '$1=' $1, '$2=' $2;#访问参数1和参数2
  echo '$@=' "$@";#以列表的方式一次打印所有的参数
  echo '$*=' "$*";#类似$@,但是参数被作为单个实体
  return 0;
}
bash_function arg1 arg2;
 
 


参考文献: Shantanu Tushar 等 著,门佳等译 . Linux shell 脚本攻略 [M].2. 北京:人民邮电出版社

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值