bash脚本

这篇文章介绍了Linuxshell中的一些基本操作,包括移动光标的位置、使用`tputcupxy`,休眠指令`sleep`,显示当前时间`date`,命令替换,创建软硬链接,以及目录管理如`mkdir`。此外,还涉及到了shell脚本中的条件判断、字符串处理和数组操作等概念。

1.移动光标位置

tput cup x y
  1. 休眠指令
sleep number[suffix]

suffix可以为 d, h, m, s,默认为s,分别表示day,hour,minute,second.,
3. 显示时间

date
  1. 命令替换(执行子命令,用子命令的标准输出作为替换)
    使用$(CMD)或者`CMD`
  2. 建立软连接(创建符号链接,类似于windows的快捷方式)
ln -s src dest #建立软连接
ln src dest #建立硬链接
  1. 创建目录
makedir dirname # 在当前目录下创建目录
makedir -p dirname1/dirname2 # 不论dirname1存在与否都能创建
  1. $0, $1, $2,分别表示当前文件名,命令行第一个参数,命令行第二个参数; $#表示命令行参数的个数,不包括$0
  2. dirname返回p的父文件夹
dirname p #p是相对路径,则以相对路径的形式返回p所在的目录,so as to 绝对目录.
  1. 分号,若一行内有多个代码块,则需要使用分号进行代码块结束的标记
if [ cond ] 
  do something
else
  do something
fi
# 或者
if [ cond ] ; do something
else; do something ; fi
  1. 条件中的数字比较符号
-eq //equals等于
-ne //no equals不等于
-gt //greater than 大于
-lt //less than小于
-ge //greater equals大于等于
-le //less equals小于等于
  1. case表达式
case X in 
    X1) 
        echo X1
        ;;
    X2)
        echo X2
        ;;
    X3)
        echo X3
        ;;
    *)
    	echo X4
    	;;
esac

echo -e '\n'

  1. 字符串操作
    a. 获取字符串长度
${#VAR}

b. 子串

${VAR: offset:length} # offset可以为负数

如果没有:length,表示从offset一直到结尾

c. 使用read指令对字符串进行切割

IFS=';' read -ra my_array <<< "$my_string" # ;为分割符号,-r表示不进行转义,a表示array形式,<<< 就是将后面的内容作为前面命令的标准输入
### 编写和使用Bash脚本的方法 Bash脚本是一种用于自动化任务的脚本语言,广泛应用于Linux和类Unix系统中。以下是对编写和使用Bash脚本的详细介绍。 #### 1. 声明解析器 在编写Bash脚本时,需要在文件的第一行指定解析器。如果没有明确声明解析器,系统将使用默认解析器进行解析[^1]。对于Bash脚本,通常使用`#!/bin/bash`作为第一行来声明使用Bash解析器。 ```bash #!/bin/bash ``` #### 2. 获取脚本所在目录 在某些情况下,可能需要获取脚本所在的目录路径。可以通过组合使用`$0`变量和`dirname`命令实现这一功能。下面是一个示例代码: ```bash SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" echo "Script directory is: $SCRIPT_DIR" ``` 这段代码通过`${BASH_SOURCE[0]}`获取脚本的路径,并结合`dirname`和`pwd`命令计算出脚本所在的目录[^2]。 #### 3. 脚本的可移植性 如果希望脚本能够在更多环境中运行,可以考虑使用POSIX标准的Shell(sh)作为解析器。这样可以确保脚本在任何符合POSIX标准的系统上都能正常运行。例如: ```bash #!/bin/sh echo "Hello, World!" ``` 这种方式提高了脚本的可移植性,但也可能牺牲一些Bash特有的功能[^3]。 #### 4. 使用VSCode调试Bash脚本 为了提高开发效率,可以使用VSCode编辑器配合相关插件调试Bash脚本。首先需要安装`bash-debug`扩展,然后按照以下步骤配置调试环境: 1. 打开目标脚本文件。 2. 在菜单中选择`Run` -> `Add Configuration...`。 3. 点击右下角添加配置按钮,依次选择三个组件,`launch.json`会自动更新并添加相关信息。 4. 配置完成后,可以通过F5键启动调试,使用F11(步入)、F10(步过)等快捷键控制程序执行流程。 5. 在调试过程中,可以通过`Watch`窗口查看变量值,或者在`DEBUG CONSOLE`中查看表达式的值[^4]。 #### 5. 示例:一个简单的Bash脚本 以下是一个简单的Bash脚本示例,展示了如何输出用户输入的内容: ```bash #!/bin/bash # 提示用户输入姓名 read -p "Please enter your name: " name # 输出欢迎信息 echo "Hello, $name!" ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值