linux-bash特性

        bash 是一个为GNU计划编写的Unix shell。

            bash编程中的脚本,指的的就是多个命令的累加。后缀.sh。可以touch ll.sh,新建一个ll.sh脚本。bash中的脚本指的就是多个命令的累加。

        最方便的其实就是使用Nano ll.sh,直接新建,并且编辑。但是Nano不会用。只能新建一个.sh脚本。再使用vi进行编辑。编辑好的bash脚本,一开始是没有执行权限的。要给它增加执行权限。chomd +x ll.sh 这里的+x默认给创建ll.sh的用户执行权限。和U+x的意思是一样的。g+x的意思给同组的用户都可以执行ll.sh脚本。

         先看一下bash支持的符号。``这个符号是esc键下的符号,代表就是命令转换。如果a=`ls`  然后执行$a 就是代表执行ls命令。

        " "双引号。如果在桌面路径执行ls会显示桌面的各个文件。如果a=`ls`。执行echo " 这是桌面的文件 $a"(echo 可以理解原样输出)就会显示这是桌面的文件后面跟上桌面的各个文件名。

               变量名只能包含字母、下划线、数字,并且不能以数字开头。

           本地变量:VARNAME=VALUE:作用域为整个bash进程

            局部变量:local VARNAME=VALUW:作用域为当前代码段

            环境变量: exprot varname=value        作用域为当前shell进程及其子进程

            位置变量:$1,$2

   

脚本命令

  #!/bin/bash

  #

  命令1

  命令2

 

    定义a=3

        b=6

    执行a=$a+$b

        echo $a

    显示 3+6 而不是显示9

    进行运算可以这样

    1.let c=$a+$b

    2.c=$(($a+$b))

    3.c=$[[$a+$b]]

    4.c=`expr $a + $b` 操作符和操作数之间都要有空格

    然后再执行 echo $c就可以了

文件测试:

    -e file:测试文件是否存在

    -f file: 测试文件是否为普通文件

    -d file:测试指定路径是否为目录

    -r file:测试文件是否可写

 

 

 

 

 

        

       

        

        

 

 

 

### Linux 中 `-E` 选项在 Bash 的作用 Bash 是一种广泛使用的 Unix Shell,提供了丰富的功能来控制脚本的行为。关于 `bash -E` 选项的作用,虽然未直接提及于所提供的引用中,但从 Bash 文档和其他权威资料可以得知其具体行为。 #### `-E` 选项的功能 当使用 `set -o errtrace` 或者等价形式 `set -E` 启用时,此选项允许错误捕获机制扩展到函数、子壳层以及 trap 命令内部[^5]。这意味着如果在一个脚本或者函数中设置了 `trap ERR`,那么即使错误发生在子进程中,也会触发相应的陷阱处理程序。 这种特性对于调试复杂的应用程序非常有用,因为它能够更精确地定位哪里出现了问题并采取相应措施。然而需要注意的是,默认情况下,ERR traps 不会被继承给子进程;启用 `-E` 可改变这一默认行为。 以下是展示如何利用 `-E` 和 `trap` 结合的例子: ```bash #!/bin/bash set -E # Enable error tracing into subshells. error_handler() { echo "An error occurred at line $1" } trap 'error_handler $LINENO' ERR function test_function(){ false # This will cause an error. echo "This won't be printed." } test_function echo "If you see this, no errors happened or were properly handled." ``` 上述脚本定义了一个简单的错误处理器,并通过设置 `set -E` 确保即使是嵌套层次较深的地方发生错误也能被捕获。一旦 `false` 命令被执行失败,则立即跳转至指定的 `trap` 处理逻辑,打印当前出错位置的信息。 尽管如此,在日常开发过程中应当谨慎对待此类全局异常捕捉方式,以免掩盖真正潜在的问题源头。 #### 关联配置文件说明补充 值得注意的是,这些设置通常可以在用户的初始化文件如 `.bashrc` 或者系统级配置 `/etc/bash.bashrc` 中找到。正如提到过的那样,`.bashrc` 文件主要用于交互式非登录shell加载时应用个性化设定[^3]。而像 `-E` 这样的高级特性一般不会预设在此类地方激活,除非特别需求由管理员手动加入。 ---
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值