bash脚本命令整理

发布时间:2024年01月17日

bash脚本命令整理

概述

想将openssl内部测试证书用的脚本.sh, 改为windows下的openssl命令行.
将资料上有用的bash脚本命令整理一下.

笔记

查看所有内建命令

$ enable -a
enable .
enable :
enable [
enable alias
enable bg
enable bind
enable break
enable builtin
enable caller
enable cd
enable command
enable compgen
enable complete
enable compopt
enable continue
enable declare
enable dirs
enable disown
enable echo
enable enable
enable eval
enable exec
enable exit
enable export
enable false
enable fc
enable fg
enable getopts
enable hash
enable help
enable history
enable jobs
enable kill
enable let
enable local
enable logout
enable mapfile
enable popd
enable printf
enable pushd
enable pwd
enable read
enable readarray
enable readonly
enable return
enable set
enable shift
enable shopt
enable source
enable suspend
enable test
enable times
enable trap
enable true
enable type
enable typeset
enable ulimit
enable umask
enable unalias
enable unset
enable wait

查看可用的shell 列表

$ cat /etc/shells
/bin/sh
/bin/ash
/bin/bash
/bin/dash
/bin/mksh
/bin/pdksh
/bin/posh
/bin/tcsh
/bin/zsh
/usr/bin/sh
/usr/bin/ash
/usr/bin/bash
/usr/bin/dash
/usr/bin/mksh
/usr/bin/pdksh
/usr/bin/posh
/usr/bin/tcsh
/usr/bin/zsh

echo 原样照印

如果用echo 打印一个字符串, 里面单词之间有多余一个的空格. 输出后, 单词之间只有一个空格.
如果要保留打印出来内容的单词之间的多个空格, 用’'包住

echo 'hello               world'

如果在这个字符串中有需要被替换的变量, 就使用 "包住字符串.

echo "hello world $obj"

脚本中行号的变量

$ echo $LINES
18

将命令执行结果重定向到文件中

将输出结果和错误日志分别重定向到不同文件

ls 1> out_log.txt 2> err_log.txt

将输出结果和错误日志重定向到一个日志文件

ls -abcde > out_log.txt 2>&1

在程序运行的同时, 保留一份日志

$ ls -abcde 2>&1 | tee ./log.txt

将程序输出给只能接受命令行参数的程序

如果下一个程序能接受管道参数, 就优先用管道将上一个程序的输出给下一个程序作为输入.
如果下一个程序只能接受命令行参数, 就用变量(上一个程序的输出结果的内容作为匿名变量).

rm $(find . -name '*.txt')

后台执行程序

在程序名称末尾 加上空格 + &

ls &

END

文章来源:https://blog.csdn.net/LostSpeed/article/details/135647841
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。