美文网首页
Bash Shell 内置变量命令

Bash Shell 内置变量命令

作者: August________ | 来源:发表于2019-11-16 15:34 被阅读0次

Bash Shell 内置变量命令

  • 常用的内置命令:echo、eval、exec、export 、read 、shift

echo在屏幕上输出信息

  • 常用参数
参数选项 说明
-n 不换行输出
-e 解析转义字符
转义字符
\n 换行
\r 回车
\t 制表符
\b 退格
\v 纵向制表符
  • 案例
# echo shell;echo bash
shell
bash
# echo -n shell;echo bash
shellbash
[root@lhf test]# echo "shell\tbash\nshell\tbash"
shell\tbash\nshell\tbash
[root@lhf test]# echo -e "shell\tbash\nshell\tbash"
shell   bash
shell   bash
# printf "shell\tbash\nshell\tbash\n"
shell   bash
shell   bash
[root@lhf test]# echo -e "1\b23"
23
[root@lhf test]# printf  "1\b23\n"
23
[root@lhf test]# echo -e "1\b23"
23
[root@lhf test]# printf  "1\b23\n"
23

eval

  • 功能:当执行eval语句时,shell读入参数args,将它们组合成一个新命令

  • 案例

[root@lhf test]# cat novel.sh 
echo \$$#
[root@lhf test]# bash novel.sh 1 2
$2
[root@lhf test]# cat eval.sh
eval "echo \$$#"
[root@lhf test]# bash eval.sh 1 2
2


exec

  • exec命令可以在不创建新的子进程的前提下,转去执行指定的命令,当指定命令执行完毕之后,该进程终止
[root@lhf test]# su - lhf
[lhf@lhf ~]$ exec date
Sat Nov 16 23:05:38 CST 2019
[root@lhf test]#
  • 当exec打开文件时,read命令每次都会将文件指针移动文件的下一行进行读取,直到文件结尾。
[root@lhf test]# seq 5 > /tmp/tmp.log
[root@lhf test]# cat exec.sh 
exec < /tmp/tmp.log
while read line
do
    echo $line
done
echo ok
[root@lhf test]# bash exec.sh 
1
2
3
4
5
ok

read

  • 功能:从标准输入读取字符串等信息,传给shell程序的内部定义变量。

shift

  • 功能:按照定义方式重新命名所有位置参数变量,比如2变成1,3变成2,
[root@lhf test]# bash shift.sh 1 2
1 2
2
[root@lhf test]# cat shift.sh 
echo  $1 $2
if [ $# -eq 2 ];then
    shift
    echo $1
fi
[root@lhf test]# bash shift.sh 1 2
1 2
2


相关文章

网友评论

      本文标题:Bash Shell 内置变量命令

      本文链接:https://www.haomeiwen.com/subject/xrpyictx.html