Bash中的命令
内建命令
内建命令是bash工具集中自带的命令,好处是执行速度比外部命令要快,因为内建命令一般直接执行命令,而外部命令一般要分支出一个子进程。
I/O操作
echo
当然是最熟悉的echo命令进行输出了。但是需要注意的是在使用 echo `command ` 的时候echo会默认将取消输出的所有换行。
再当使用 echo “`command`“的时候可以避免换行符的缺失。
1 | echo "`ll`" |
printf
在C中使用的printf 能够格式化输出内容。
1 | # 基本使用 |
read
读取参数的命令,可以通过这个命令读取输入参数。通常情况下,在输入read数据期间输入\会抑制换行符。 -r选项会导致输入的\被字面解释。同样read命令有很多参数可以使用
1 | echo "please input a value:" |
当read 后面不跟任何值的话他默认给 $REPLY 赋值,之后可以取这个值作为read进来的值。
在当输入内容后面加上 /
的话会起到输入时候的换行的作用,而使用 -r 参数会将 /
按照原样输出出来
1 | echo "input var1 is $var1" |
read有很多有用的参数可以调用,实现复杂的输入功能。
1 | read -s -n1 -p "Hit a key " keypress |
read也可以使用文件作为输入的源
1 | echo "文件temp_file中内容有两行 一行是hello world 第二行是 Hello World" |
文件系统操作
操作文件系统的命令有很多但是都非常的常用也非常的简单。这里不做具体的说明其中举一两个非常常见的。
cd : 切换目录
pwd : 查看当前工作目录
变量操作
let 是能够进行简单变量运算的命令 比如
1 | let a=1+2 |
eval 命令是能够将字符串转换成成命令。并且可以多次调用以去评估是否是命令去执行
1 |
|
set和unset命令,一看就知道是设置和取消变量的意思。
export 命令一般使用在设置环境变量上,如在/etc/profile文件中设置JAVA_HOME
declare和typeset命令指定和/或限制变量的属性。
getopts 是能够定义属性的 比如 在解压tar包的时候使用-xvf
之类的命令的时候就是使用getopts来达到不同的 -a -b 之类的实现。这个命令一般出现在case 或者while循环中
1 | while getopts ":abcde:fg" Option |