shell面试题


shel面试题

持续记录一些面试题

1、变量

选择C

单引号不识别特殊变量

双引号识别特殊变量

sh bash会开启子shell 不保留当前shell变量

source 或者./ 是在当前shell环境加载脚本 保留shell变量

利用pstree查看shell的父进程和子进程
yum -y install psmisc

2、特殊变量

$# 表示传递给函数或脚本的总个数

$* 和 $@ 表示传递给函数或脚本的所有参数

$*$@ 的区别是什么?

$*把所有参数当做一个整体
$@把所有参数当做独立的数据体

例子:
[root@mylinux ~]# cat  a.sh 
#! /bin/bash

echo "演示 \\"\\$*\\" "
for var in "$*"
do
    echo "$var"
done

echo "演示 \\"\\$@\\" "
for var in "$@"
do
    echo "$var"
done

[root@mylinux ~]# bash a.sh  1 2 3 4 5 6
演示 "$*" 
1 2 3 4 5
演示 "$@" 
1
2
3
4
5

文章作者: yushui1995
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 yushui1995 !
评论
  目录