bash 基础

变量

a=4;        # 等号两边不能有空格

# 外部变量
# eg:sh xx.sh input1 input2
input1=$1;  # 外部输入第一个变量
input2=$2;  # 外部输入第二个变量

# 输入变量
read -p "input your name:" name
echo $name

# 输出变量
echo $input1 $a;    # 注意要用$号
echo ${input2};     # 使用{}号帮助识别变量名边界

# 单引号与双引号
str1='this is str1';    # 单引号里的任何字符都原样输出
str2="this is $str1";   # 双引号中可以有变量和转义字符

# 确定字符串长度
len=${#str1};

四则运算

# 使用双括号包住  ((计算式))
((i++));
((++i));    # 同c语言
((i*2));
((i/2));

for循环

for item in xx;
do                  # 注意do后面没有分号
    .......
    echo $item;
done;

# xx的表示方法:
1. $(ls xx*)        # 注意根据需要限定范围
2. `ls xx*`         # 1,2中,若文件名有空格,会按照空格分开成不同的变量
3. xx*              # 直接限定范围

确定当前文件夹文件个数

# bad way
count=0;
for item in $(ls *);
do
    ((++count));
done;

# better way
count=`ls -l|grep "^-"| wc -l` # 使用``号相当于运行该段代码

内嵌命令

count=\`ls -l|grep "^-"| wc -l\`  # 使用``号相当于运行该段代码
count=$(ls -l|grep "^-"| wc -l) # 同上 

多行注释

:<<EOF
注释内容...
注释内容...
注释内容...
EOF             # EOF可用单引号'与感叹号!代替

输出多行内容到文件

cat>test<<EOF
这是一个由shell创建的文件
this is a file created by shell.
we want to make a good world.
EOF

其中,<<EOF 表示当遇到EOF时结束输入,cat>test<<EOF 这中间没有空格。

另外生成文件名和EOF中的内容,均支持变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值