美文网首页
实用 shell 命令

实用 shell 命令

作者: 风之化身呀 | 来源:发表于2019-06-29 14:57 被阅读0次

全局变量

  • 当前目录和时间
PWD=$(pwd) //当前目录
date=$(date) //当前时间
  • 当前文件dirname和basename
dir=$(dirname $0)
base=$(dirname $0)

文件操作

  • 判断文件(或者目录)是否存在
if [[ -e file ]]   // 是否存在
if [[ -d file ]]   // 是否是目录
if [[ -f file ]]   // 是否是文件
  • 文件内容增删改查 sed
    sed [选项] [命令] ,
    常用选项:
    -n 只有经过sed特殊处理的那一行才输出
    -i 直接修改读取的文件内容,而不是输出到终端
    -r 支持正则表达式
    常用命令:
    a 新增行 ,当前行之后
    i 插入行,当前行之前
    c 整体取代
    s 部分替换
    d 删除
    p 打印
sed -i "" "1,2d" file  // 直接删除1-2行,不备份
sed -i ".bak" "1,2d" file  // 直接删除1-2行,不备份
sed -i "" '1,3a drink tea' ab.txt  // 在第一行到第三行后增加字符串"drink tea",不备份
sed -i "" '1,2c Hi' ab.txt  // 把ab.txt的第一行到第二行替换为Hi,不备份
sed -i "" 's/ruby//g' ab.txt  // 把全部的ruby替换为空,即删除ruby字符串,不备份

  • 查找并遍历文件
file=$(find ./src -name '*.js' ! -name '*.story.js'); // ! 表示排除以.story.js的文件
for loop in $file
do
  command
done
  • 字符串操作
// 写内容到文件
echo -e "string\n" > file    // -e 表示识别字符串中的特殊字符,会覆盖file内容
echo -e "string\n" >> file    // -e 表示识别字符串中的特殊字符,不会覆盖file内容,而是追加
// 截取字符串
var='/abc/def/a.js'
echo ${var#*\/} // 从左往右,取第一个/开头的右边部分,结果为:abc/def/a.js
echo ${var##*\/} // 从右往左,取第一个/开头的右边部分,结果为:a.js
echo ${var%\/*} // 从右往左,取第一个/开头的左边部分,结果为:/abc/def
echo ${var%%\/*} // 从左往右,取第一个/开头的左边部分,结果为:
echo ${var:1:3} // 取1,3位,结果为:abc
// 拼接字符串
var='a'
var2='b'
echo "$var:$var2" // a:b
  • 命令行快捷操作
ctrl + a  // 移动到行首
ctrl + e  // 移动到行尾
ctrl + u  // 删除鼠标所在位置到行首之间所有内容
ctrl + k  // 删除鼠标所在位置到行尾之间所有内容

易错点

  • 变量定义不能有空格
name="test" // 等号必须紧邻name,不能有空格
  • 条件控制,中括号有空格
if [[ $a ]];then
 command
else
 command
fi

if [[ ]];then
 command
elif [[ ]];then
 command
else
 command
fi
  • 交互读取
read -p "Input Component Dirctory Name: " name
echo "$name"

相关文章

  • 实用Shell命令

    文件压缩并分卷 (转)使用tar和split打包分割文件[http://www.cnblogs.com/xiaou...

  • 实用 shell 命令

    全局变量 当前目录和时间 当前文件dirname和basename 文件操作 判断文件(或者目录)是否存在 文件内...

  • Sqlcipher对Ormlite加密实用技能

    Ormlite实用技能 Ormlite打印sql语句adb命令:adb shell setprop log.tag...

  • vim学习 09——shell命令

    vim学习 09——shell命令 执行 shell 命令 :!shell命令 : 可以执行 shell 命令。 ...

  • ADB常用命令集合

    基础命令 USB设备命令 文件传输命令 SHELL命令 adb shell pm命令 adb shell am命令...

  • (linux/mac)mysql调用系统命令

    system + shell命令! + shell命令

  • Linux编写SHELL实用提示

    SHELL实用技巧 当脚本失败时退出 有时某个命令失败,还会继续执行下去,可能最终导致逻辑错误。当执行出错,实用下...

  • shell脚本基础

    shell介绍 shell命令: 在linux终端能被解析的命令,就是shell命令。 shell脚本: 多个sh...

  • adb shell logcat 命令

    adb shell logcat 命令 Tags: adb_shell adb shell logcat命令映射为...

  • exec命令

    shell 中的 exec 两种用法: 1.exec 命令 ;命令代替shell程序,命令退出,shell 退出;...

网友评论

      本文标题:实用 shell 命令

      本文链接:https://www.haomeiwen.com/subject/fohtmqtx.html