liunx shell

变量

unste 变量				  撤销变量
$?						  上一个执行的命令的状态 返回0无误 其他值有误
$$						  当前进程的 PID

在一个脚本文件 test.txt

echo $#                   打印长度
echo $*					  打印所有字符
echo $@      			  打印所有字符
echo ${11}                打印第11个

执行脚本

 sh test.txt 1 2 3 4 5 6 7 8 9 0 a b c d

执行结果

在这里插入图片描述

export MYTEST=333    	  定义一个环境变量
env | grep MY			  在环境变量里筛选带 MY 字符的环境变量
脚本

在脚本的首行最好加入以下代码 向电脑解释这是一个shell文件

#!/bin/bash
touch test.txt            创建一个文件
vi test.txt               编辑文件
a=1234                    给a赋值
b=${a/23/'x y z'}	      把a的值赋给b 并把b的第二、三个字节替换为x y z	
echo $a					  打印a的值
echo $b					  打印b的值

间接取值

a=1234
b=a
c=${!b}

把命令执行的结果赋给变量

a=`ls -l`           	  ` 是esc下面的哪一个

将一个变量的值赋值给另外一个变量

变量=${变量}   			  大括号可以不带 带大括号提示这是一个变量

直接赋值是字符串 双括号包围才是数字

a=123 b=567
((c=a*2+b))
echo "c is:$c "

引号

a=`ls -l`
echo $a
echo "-----------------"
echo '$a'
echo "-----------------"
echo "$a"

不带引号 将结果的换行符替换成空格
单引号 打印引号里的内容
双引号 打印命令执行后的内容

在这里插入图片描述

a=`ls -l`
for a in $a; do
echo "=>$a"
done

执行后打印多个值

在这里插入图片描述

a=`ls -l`
for a in "$a"; do
echo "=>$a"
done

执行后打印一个值

在这里插入图片描述

case
#!/bin/bash
case $1 in
"1")echo"你输入的数字是1"
;;
"2")echo"你输入的数字是2"
;;
*)echo"你输入的是其他数字"
;;
esac

执行这段脚本

 . test.txt  2 				运行符号 文件名 数字

在这里插入图片描述

条件表达式

[ ]
 [ -f "test.txt" ]
 echo $?

输出 0 为真 其它为假
在这里插入图片描述
&& 与 前面为真执行后面

 [ -f "test.txt" ] && echo "is file"

|| 或 前面为真后面不执行

 [ -f "test.txt" ] || echo "is file"
test
#!/bin/bash
if test -f test.txt
then
echo "文件已存在"
else
echo "文件不存在"
fi
 . test.txt 

在这里插入图片描述

[[ ]]
 [[ -d "test.txt" ]]
 echo $?

结果为 1 错误
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值