linux 常用shell脚本

常用:

1. linux {}符号

  (1) ${ }通常用于划定变量名的边界。如:当执行echo ”$aa“的时候系统会打印变量$aa的值,当执行echo "${a}a"时打印的是${a}和字母a,所以使用中括号{ }来划定变量名的边界。如果不需要为变量名划分边界的话,$a${a}是完全相等的。

  (2) 在touch {a,b}.txt时,同时创建了a.txt,b.txt两个文件;

  (3) 在linux通配符中,{n,m}表示匹配括号内包含的多个文件;(未验证) 

2. << tag,将开始标记 tag 和结束标记 tag之间的内容作为输入,如:

# delimiter也可以是其它的自定义的符号,如 !等
command << delimiter
    document
delimiter

 3. $? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误);

%y  年份后两位数字 (00..99)
%Y  年
%m  月份 (01..12)
%H  小时 (00..23)
%d  日 (01..31)
%D  日期,等价于%m/%d/%y
%M  分钟 (00..59)

常用命令:%Y%m%d,如输出为 20220708

 4. 日期

date: 输出系统当前日期

日期格式化:

  $ date +%Y%d%m

  输出:20160606

 5. expect的使用

expect的使用:https://blog.51cto.com/loong576/2544712

expect的嵌套使用:https://blog.csdn.net/qq_46093534/article/details/118111777

 6. <<- tag的作用

 7. top 命令用于实时显示 process 的动态

    top -c:显示完整的命令行而不截断;

    top命令后输入大写的P:按CPU降序排序, 默认;

    top命令后,输入大写的M按内存降序排序。

   8. printf

更多请参考:https://www.runoob.com/linux/linux-shell-printf.html

%s: 指定输出字符串。
%d、%i: 指定输出十进制整数。
%o: 指定输出八进制数。 
%x、%X: 指定输出十六进制数。 
%f、%F: 指定输出浮点数。 
%e、%E: 以科学计数法输出浮点数。 
%c: 指定输出字符。

如:输出123的16进制表示形式:printf '%x\n' 123

 9.dirname

# 在linux shell中反引号 `` 的作用和推荐使用 $() 是等效的,表示该包括的内容是 shell 命令,如 now = `date` 表示将日期负值给变量 now;
# dirname命令去除文件名中的非目录部分,仅显示与目录有关的内容。dirname命令读取指定路径名保留最后一个/及其后面的字符, # 删除其他部分,并写结果到标准输出。如果最后一个/后无字符,dirname 命令使用倒数第二个/,并忽略其后的所有字符。dirname和 basename # 通常在 shell 内部命令替换使用,以指定一个与指定输入文件名略有差异的输出文件名。 # 比如: $ dirname /usr/bin/sort # 输出:/usr/bin $ dirname /usr/bin # 输出:/usr # 进入当前脚本所在目录($0 的作用是返回当前值行的shell脚本的名称,即 shell 脚本本身的名字) cd `dirname $0` # 或者 cd $(dirname $0) #进入当前脚本所在的上级目录 cd `dirname $0`/.. # 脚本中获取 脚本文件所在的绝对路径 shellPath1=$(dirname $0) # 或者 shellPath1=`dirname $0` echo $shellPath1

 10. $0 $1... 的作用

    $0 的作用是返回当前值行的shell脚本的名称,即 shell 脚本本身的名字;

    $1-$9这9个分别代表脚本执行命令第一个参数、第二个参数、第三个参数……第9个参数。

    如,echo "First argument: $1"

#!/bin/bash

echo "Script name: $0"
echo "First argument: $1"
echo "Second argument: $2"

# 在运行脚本时,我们可以给它传递两个参数,比如:
./test.sh hello world

# 这时候脚本会输出:
Script name: test.sh
First argument: hello
Second argument: world

 11. sh -c 命令

-c选项后面通常跟一个字符串命令,也就是用于从字符串执行命令。sh -c 的常见场景是在脚本中执行一些复杂的命令。
如:切换到目录/home/test/shell/ 下,并在该目录下执行sh start.sh 命令。脚本为 sh -c 'cd /home/test/shell/;sh start.sh'。

 

 

 参考:https://www.runoob.com/linux/linux-comm-date.html

其它:

https://blog.csdn.net/qq_41854911/article/details/122444012

posted @ 2022-06-30 08:58  达摩院的BLOG  阅读(297)  评论(0编辑  收藏  举报