// 其他杂项知识点  

对于普通用户,Base shell 默认的提示符是美元符号$;对于超级用户(root 用户),Bash Shell 默认的提示符是井号#

-------

\#!是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell;后面的/bin/bash就是指明了解释器的具体位置    

-------

read 命令用来从标准输入读取用户输入的数据   

-------

点号用于执行某个脚本,甚至脚本没有可执行权限也可以运行。有时候在测试运行某个脚本时可能并不想为此修改脚本权限,这时候就可以使用.来运行脚本,非常方便。    

-------

sh-3.2# echo $SHELL     // 查看系统使用的shell为bash
/bin/sh sh-3.2# bash --version // 查看bash版本 等同 echo $BASH_VERSION
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin17)
Copyright (C) 2007 Free Software Foundation, Inc. -------- 字符串截取操作 ${string: start :length} // 从0开始 截取的长度(可以省略,省略长度代表截取到末尾) hello='Hello World!'
echo ${hello:6:5} // 从6开始截取5个字符
echo ${hello:6} // 截取到末尾 hello='Hello World!' // 从指定字符开始截取到末尾
echo ${hello#*o} // \#代表指定截取 \*通配左边所有字符 sh-3.2# echo ${hello#r}
Hello World!
sh-3.2# echo ${hello#Hello Wor} // 不使用通配符也行 # 截取右边字符,忽略左边
sh-3.2# echo ${hello#*o} // 默认从第一个指定字符开始
World!
sh-3.2# echo ${hello##*o} // 从最后一个指定字符开始匹配
rld! % 截取左边,忽略右边 (跟#相反)
sh-3.2# echo ${hello%o*}
Hello W
sh-3.2# echo ${hello%%o*}
Hell -------- 数组合并 sh-3.2# arr1=(1 2 3)
sh-3.2# arr2=(4 5 6)
sh-3.2# arr3=(${arr1[@]} ${arr2[@]})
sh-3.2# echo ${arr3[@]}
1 2 3 4 5 6 -------- /etc/bashrc 文件
alias hello='ls -l' // 添加alias别名
source 执行一下 -------- `` 反引号和 $() 差不多,字符串将解释成shell命令来执行
z:~ k$ for i in `ls`; do
> echo $i
> done
Applications
Applications
(Parallels)
Desktop
z:~ k$ --------
((表达式)) 多个表达式之间以逗号,分隔, sh-3.2# echo $((a=2,b=3)) // $获取 (( )) 命令的结果
3 // 以最后一个表达式的值作为整个 (( )) 命令的执行结果 // 使用变量时不用加$前缀,(( )) 会自动解析变量名
sh-3.2# a=2
sh-3.2# b=3
sh-3.2# echo $((a))
2 let 也是表达式求值 和(())一样,只是当是多个表达式时,是以空格为分割 sh-3.2# let a=1 b=2
sh-3.2# echo $a $b
1 2 $[] 跟let (()) 也差不多 sh-3.2# echo $[1+2]
3 -------- expr 整数计算 sh-3.2# expr 1 + 2
3
sh-3.2# expr 1 \* 3
3
sh-3.2# a=1
sh-3.2# expr $a
1
sh-3.2# expr \( 1 \* 3 \) + 2 // 括号也要转义
5 --------
for 循环
for((exp1; exp2; exp3))
do
xxx
done --------
退出状态 每一条 Shell 命令,当它退出(运行结束)时,都会返回一个整数值给调用(使用)它的程序,即命令的退出状态 if 语句的判断条件,从本质上讲,判断的就是命令的退出状态 按照惯例来说,退出状态为 0 表示“成功”;也就是说,程序执行完成并且没有遇到任何问题。除 0 以外的其它任何退出状态都为“失败” sh-3.2# echo $(( 1 * 2 ))
2
sh-3.2# echo $?
0 // 0成功
sh-3.2# abcdefg
sh: abcdefg: command not found
sh-3.2# echo $?
127 // 失败 -------- select in 循环,它可以显示出带编号的菜单,用户输入不同的编号就可以选择不同的菜单,并执行不同的功能 sh-3.2# select name in "aa" "bb" "cc" "dd"
\> do
\> echo $name
\> done
1) aa
2) bb
3) cc
4) dd
\#? 1
aa
\#? 2
bb
\#? 3
cc
\#? 4

  

shell 其他杂项知识点笔记的更多相关文章

  1. 【链接】LINUX SHELL脚本攻略笔记[速查]

    LINUX SHELL脚本攻略笔记[速查]

  2. LINUX SHELL脚本攻略笔记[速查]

    Linux Shell脚本攻略笔记[速查] 资源 shell script run shell script echo printf 环境变量和变量 pgrep shell数学运算 命令状态 文件描述 ...

  3. Python 入门必学经典知识点笔记【肯定有你不知道的】

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:实验楼 Python 作为近几年越来越流行的语言,吸引了大量的学员开始学 ...

  4. [新手必备]Python 基础入门必学知识点笔记

    Python 作为近几年越来越流行的语言,吸引了大量的学员开始学习,为了方便新手小白在学习过程中,更加快捷方便的查漏补缺.根据网上各种乱七八糟的资料以及实验楼的 Python 基础内容整理了一份极度适 ...

  5. Java 多线程与并发【知识点笔记】

    Java 多线程与并发[知识点笔记] Java多线程与并发 先说一下线程与进程的由来: 在初期的计算机,计算机只能串行执行任务,并且需要长时间的等待用户的输入才行 到了后来,出现了批处理,可以预先将用 ...

  6. 写shell脚本速查笔记

    linux shell脚本的语法蛋疼,而且对于java开发人员来说又不常用,常常是学了一次等到下次用的时候又忘记了.因此制作这个速查笔记,用于要写shell脚本时快速回忆&速查. 获取当前脚本 ...

  7. linux shell脚本攻略笔记

    前一阵子系统学习了下<linux shell脚本攻略>这本书.在此记录下自己的学习笔记 1. 输出颜色字符  echo -e "\e[1:41m" 1表示背景色   2 ...

  8. Linux Shell Scripting Cookbook 读书笔记 1

    本系列文章为<Linux Shell Scripting Cookbook>的读书笔记,只记录了我觉得工作中有用,而我还不是很熟练的命令 书是很好的书,有许多命令由于我比较熟悉,可能就没有 ...

  9. shell脚本学习积累笔记(第一篇)

    (1)首先,今天在执行shell脚本./test.sh时抛出“/bin/sh^M: bad interpreter: No such file or directory”的异常,百度后,才知道这是由于 ...

随机推荐

  1. Linux下MySql的登陆和管理操作

    一.mysql数据库启停1.linux下启动mysql的命令:    mysqladmin start/ect/init.d/mysql start (前面为mysql的安装路径)2.linux下重启 ...

  2. P1462 通往奥格瑞玛的道路

    P1462 通往奥格瑞玛的道路 题目背景 在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量 有一天他醒来后发现自己居然到了联盟的主城暴风城 在被众多联盟的士兵攻击后,他决定逃回自己的家乡 ...

  3. 【THUSC2017】【LOJ2981】如果奇迹有颜色 DP BM 打表 线性递推

    题目大意 有一个 \(n\) 个点的环,你要用 \(m\) 中颜色染这 \(n\) 个点. 要求连续 \(m\) 个点的颜色不能是 $1 \sim m $ 的排列. 两种环相同当且仅当这两个环可以在旋 ...

  4. DDCTF-2019

    Web 滴 Web 签到题 Web 大吉大利,今晚吃鸡 1)滴 网址http://117.51.150.246/index.php?jpg=TmpZMlF6WXhOamN5UlRaQk56QTJOdz ...

  5. python爬虫学习笔记

    爬虫的分类 1.通用爬虫:通用爬虫是搜索引擎(Baidu.Google.Yahoo等)“抓取系统”的重要组成部分.主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份. 简单来讲就是尽可 ...

  6. Linux下配置yum源为阿里云或网易的详解

    一.yum源概述 yum需要一个yum库,也就是yum源.默认情况下,CentOS就有一个yum源.在/etc/yum.repos.d/目录下有一些默认的配置文件(可以将这些文件移到/opt下,或者直 ...

  7. BootstrapTable-加载数据

    要加载的数据:https://examples.wenzhixin.net.cn/examples/bootstrap_table/data?search=&order=asc&off ...

  8. 对半导体制造(FAB)工种的全方位解析

    本文转载自微信公众号 - 感集网, 链接 https://mp.weixin.qq.com/s/MRoWRbKZFBrJcQAZPqDa7w

  9. [Luogu P1354]房间最短路问题

    这是一道紫题,然而实际上我觉得也就蓝题难度甚至不到. and,这道题就是一道数学题,代码模拟计算过程. 求最短路嘛,肯定要考虑建图,只需要把中间的墙上每个口的边缘处的点作为图中的点就行.至于为什么,显 ...

  10. full join no满连接的使用

    查询各个部门工资范围,按照1000~2000,2000~3000....这样的格式显示人数 select * from (select job,count(*) as "1000~2000& ...