Shell 实践 Examples

Shell 实践 Examples

只用来解决实际遇到的问题,不深究全部知识点

提取文件扩展名

echo ${file_name: -3}

获得当前文件夹的父文件夹路径

dirname $(pwd)

判断一个值是不是在一个 array 里面

arr=( hello world shell )
subele=wor
subele1=world
if [[ "${arr[@]}" == *"${subele}"* ]]; then
  echo "True"
else
  echo "False"
fi

这种方法的问题是,如果有一个元素的子串,也会被认为是 true。

等待某个文件生成

until [ -f $file_name ]
do
  sleep 1
  echo "sleep, zzzZOOO"
done

把含有空格的字符串变成多行 array

echo $some_string | tr ' ' '\n'

判断文件不存在

if [ -f $some_file ]; then
  echo "$some_file exists"
else
  echo "$some_file not exists"
fi

判断字符串是否为空

if [ -z $some_string ]; then
  echo "string not exists"
else
  echo "$some_string exists"
fi

可以用作判断参数是否存在。

监控文件,如果有新增数据,则输出

tail -f $some_file

按时间排序目录下的文件和文件夹

ls -Ct $some_dir

只显示文件 或 只显示文件夹

只显示文件
ls -Ct $some_dir | grep ^-
只显示文件夹
ls -Ct $some_dir | grep ^d

只显示名称,不显示其它信息

ls -Ct $some_dir | grep ^d | awk '{print $9}'

只显示第一个

ls -Ct $some_dir | grep ^d | awk '{print $9}' | head -1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值