shell脚本的一些测试和笔记总结

编程入门 行业动态 更新时间:2024-10-07 07:29:19

shell<a href=https://www.elefans.com/category/jswz/34/1771291.html style=脚本的一些测试和笔记总结"/>

shell脚本的一些测试和笔记总结

目录

  • 1、cat <<EOF
  • 2、echo -e
  • 3、$#、 $@、 $* 、 $?
  • 4、测试的demo

1、cat <<EOF

cat命令表示查看,而cat <<EOF命令表示将进行输入,直到以EOF终止符来结束输入(最后的新行)。EOF必须写在一行的头部,前面不能有制表符或者空格。如果结束符EOF前面有制表符或者空格,则EOF不会被当做结束符,只会被视为继续输入的状态。

cat <<EOF > test.txt
123
123
123
EOF

2、echo -e

参考文章:

-e:激活转义字符。使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

•\a 发出警告声;
•\b 删除前一个字符;
•\c 最后不加上换行符号;
•\f 换行但光标仍旧停留在原来的位置;
•\n 换行且光标移至行首;
•\r 光标移至行首,但不换行;
•\t 插入tab;
•\v 与\f相同;
•\ 插入\字符;
•\nnn 插入nnn(八进制)所代表的ASCII字符;

3、$#、 $@、 $* 、 $?

参考文章:

sh 2.sh a b c

  • $# 会获取到 3,对应传入脚本的参数个数,统计的参数不包括 $0。
  • $@ 会获取到 “a” “b” “c”,也就是所有参数的列表,不包括 $0。
  • $* 也会获取到 “a” “b” “c”, 其值和 $@ 相同。但 $*和 $@有所不同。 $*把所有参数合并成一个字符串,而 $@会得到一个字符串参数数组。
  • $? 可以获取到执行 sh 2.sh a b c 命令后的返回值。在执行一个前台命令后,可以立即用 $? 获取到该命令的返回值。该命令可以是系统自身的命令,可以是 shell 脚本,也可以是自定义的 bash 函数。
  • 当执行系统自身的命令时,$? 对应这个命令的返回值。
  • 当执行 shell 脚本时,$? 对应该脚本调用 exit 命令返回的值。如果没有主动调用 exit 命令,默认返回为 0。
  • 当执行自定义的 bash 函数时,$? 对应该函数调用 return 命令返回的值。如果没有主动调用 return 命令,默认返回为 0。
#!/bin/shif [ $# -eq 0 ];then  echo "shell has not args"
elseecho "shell has args"
fiecho "* = $*"
echo "@ = $@"for arg in $@
docase $arg ina)echo "a in args";;*)echo "------";;esac
done

4、测试的demo

C="hello shell sss"
if [ ! -z "$C" ] ; then   echo "ok"for c in $Cdoif [ $(echo $c |grep -c "hello") -eq 1 ] || [ $(echo $c |grep -c "sss") -eq 1 ]; thenif [ -e "./test.txt" ];thenecho "file is exist"fitouch test.txt  #create a fileecho $c > test.txtelseecho $c > test.txtfidone
fi

更多推荐

shell脚本的一些测试和笔记总结

本文发布于:2023-11-17 10:53:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1640920.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:脚本   测试   笔记   shell

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!