shell 杂碎命令整理

1. echo 参数

  • -n 不换行(默认换行)
  • -e 使得转移字符有效

例子

ss=‘abc\n‘
echo -e  $ss
abc
           #换行起作用
echo $ss
abc

2. 赋值时候=左右两侧不要带空格

a = "hello" #错误
a="hello"

3. shell运算

b=4
let "c=$b+1"
echo $c

4. 单引号和双引号区别

单引号和双引号一样都是字符串的界定符,而不是字符的界定符。单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外。

举例

 bb="hello"
echo "$bb"
hello
echo ‘$bb‘
$bb

注意ecoh -e ‘$bb‘ 结果还是$bb,因为‘$bb‘就是字面值,不会转义。

5. 数组

5.1 声明、定义

  • array[‘a‘]=1
  • array=(‘a‘, ‘b‘)
  • array=([1]=‘a‘ [2]=‘b‘)

5.2 访问

  • echo ${array[‘a‘]}
  • echo ${array[0]}

5.3 遍历

for var in ${array[*]}
do
    echo $var
done

5.4 数组长度

num=${#array[@]}    

对比:获取字符串长度:num=${#str}

6. Linux shell实现多线程

for ((i=0;i<5;i++)); do
{
    sleep 3;
    echo "hello" $i
}
done
wait

对比

for ((i=0;i<5;i++)); do
{
    sleep 3;
    echo "hello" $i
}&
done
wait

这个在上面的基础上多加了一个后台执行&符号,此时5个循环任务并发执行,最后需要3s多一点的时间(效果非常明显)。wait的作用是完成后台所有的任务后才往下执行,否则程序本身会等待。

7. 去除一行最后的‘\r‘

字符串最后有个‘\r‘是非常恶心的,可以通过tr命令去掉

a="hello\r"
echo $a | tr -d ‘\r‘
hello\r
echo $a | tr -d "\r"
hello\r
echo -e $a | tr -d ‘\r‘
hello  #转移字符起作用
echo -e $a | tr -d "\r"
hello

8. 编译shell文件

bash -x ***.sh

+开头的是编译的中间过程,不带+的为正常的输出。效果非常明显。 

时间: 2024-08-26 04:16:08

shell 杂碎命令整理的相关文章

linux bash shell常用命令整理

使用这些命令几乎能完成所有想要做的任务 命令 描述 alias 为指定命令定义一个别名 bg 以后台模式恢复作业的运行 bind 将键盘序列绑定到一个readline函数或宏 break 退出for.while.select.until循环 builtin 执行指定的shell內建命令 cd 将当前目录切换为指定的目录 caller 返回所有活动子函数调用的上下文 command 执行指定的命令,而不用通常的shell查找 compgen 为指定单词生成可能的补全匹配 complete 显示指定

shell date 命令整理

最近发现date命令特别好用(在mac里面不行) 1.获取今天的日期 [[email protected] ~]# date +%Y%m%d 20141123 2.获取某一天的日期 [[email protected] ~]# date -d "2014-11-12" +%Y%m%d 20141112 这个似乎是废话,不过没关系,继续看 3.获取某一天周几 [[email protected] ~]# date -d "2014-11-23" +%w 0 4.获取某

shell 新学命令整理

shift 用户将参数左移 #!/bin/bash while (($#)) do echo $1; shift done

常见shell脚本命令整理

1.cat /dev/null > test.txt txt的文件内容被清空. 2.ls | xargs rm 目录中大量文件的删除 3.查看文件夹下文件个数 ls | wc -w 查看有多少个文件及文件夹 4.查看磁盘空间使用状况 df -h 显示指定磁盘文件的可用空间. 原文地址:https://www.cnblogs.com/everfight/p/command_line.html

linux常用命令整理(五):shell基础

大家好,我是会唱歌的程序猿------ 最近在学习linux,闲暇之余就把这些基本的命令进行了整理,希望大家能用的上,整理的的目的是在忘了的时候翻出来看看^?_?^,前后一共分为五个部分: linux基本命令整理(一):常用命令 地址:http://www.cnblogs.com/devinCat/p/7247824.html linux基本命令整理(二):用户.用户组.文件系统和网络 地址:http://www.cnblogs.com/devinCat/p/7247847.html linux

linux常用命令整理(四):软件包管理和shell基础

大家好,我是会唱歌的程序猿------ 最近在学习linux,闲暇之余就把这些基本的命令进行了整理,希望大家能用的上,整理的的目的是在忘了的时候翻出来看看^?_?^,前后一共分为五个部分: linux基本命令整理(一):常用命令 地址:http://www.cnblogs.com/devinCat/p/7247824.html linux基本命令整理(二):用户.用户组.文件系统和网络 地址:http://www.cnblogs.com/devinCat/p/7247847.html linux

Linux的经典shell命令整理

Linux的经典shell命令整理 1.删除0字节文件find -type f -size 0 -exec rm -rf {} \; 2.查看进程按内存从大到小排列ps -e -o “%C : %p : %z : %a”|sort -k5 -nr 3.按cpu利用率从大到小排列ps -e -o “%C : %p : %z : %a”|sort -nr 4.打印说cache里的URLgrep -r -a jpg /data/cache/* | strings | grep “http:” | aw

shell日常使用整理

基本常识 1.变量命名规则: 首字符必须为字母 中间不能有空格,可以有下划线_ 不能使用标点符号 不能使用bash里的关键字 2.变量赋值: 变量名=值, (注意,= 两边不能有空格) var=1var=$var+1 echo $var+1输出为1+1,而不是2 可以用如下方法使其输出为2let "var+=1"#var=$[$var+1]#var=$(($var+1)) echo $var 或者var=1var= expr $var + 1 #(注意,+ 两边的空格,一定要有) le

【转载】Git 常用命令整理

Git 常用命令整理 博客分类: Ubuntu / Mac / Github / Aptana / Nginx / Shell / Linux 初始化配置 C代码   #配置使用git仓库的人员姓名 git config --global user.name "Your Name Comes Here" #配置使用git仓库的人员email git config --global user.email [email protected] #配置到缓存 默认15分钟 git config