basename命令详解
- 摘要:前言bashname命令用于获取路径中的文件名或路径名(获取的时候叶子节点的元素内容)常见用法举例basenamepath获取末尾的文件名或路径名1:[aliyunzixun@xxx.comlianxi]#basename/etc/passwd2:passwd3:[aliyunzixun@xxx.comlianxi]#basename/etc/man.config4:man.config5:[aliyunzixun@xxx.comlianxi]#basename/etc/6:
- 前言
bashname命令用于获取路径中的文件名或路径名(获取的时候叶子节点的元素内容)
常见用法举例
basename path
获取末尾的文件名或路径名
1: [aliyunzixun@xxx.com lianxi]# basename /etc/passwd
2: passwd
3: [aliyunzixun@xxx.com lianxi]# basename /etc/man.config
4: man.config
5: [aliyunzixun@xxx.com lianxi]# basename /etc/
6: etc
去掉末尾的指定字符如果我们不需要扩展名或是末尾的子字符串的时候,第二个参数指定其即可取消。
取消扩展名
1: [aliyunzixun@xxx.com lianxi]# basename /etc/man.config
2: man.config
3: [aliyunzixun@xxx.com lianxi]# basename /etc/man.config .config
4: man
取消指定的字符
如下,要取消db.data,包括了扩展名在内
1: [aliyunzixun@xxx.com lianxi]# ls namedb.data
2: namedb.data
3: [aliyunzixun@xxx.com lianxi]# basename namedb.data db.data
4: name
总结
通过basename来获取末尾的文件名或目录名
以上是
- 的内容,更多
- 的内容,请您使用右上方搜索功能获取相关信息。
- $ basename --help
$ basename /usr/bin/sort 输出"sort"。$ basename ./include/stdio.h .h 输出"stdio"。为basename指定一个路径,basename命令会删掉所有的前缀包括最后一个slash(‘/’)字符,然后将字符串显示出来。
basename [pathname] [suffix]basename [string] [suffix]suffix为后缀,如果suffix被指定了,basename会将pathname或string中的suffix去掉。
- $ basename /tmp/test/file.txt
- file.txt
- $ basename /tmp/test/file.txt .txt
- file
1、如果像下面脚本中传递参数给basename,参数为空,basename会将参数左移2、basename最多接受两个参数,如果设置的参数多于两个,会提示错误。
- #!/bin/bash
- # basename.sh
- echo Testing basename
- echo -------------
- echo "basename \$1/\$2 .txt; suffix is .txt"
- filename=`basename $1/$2 .txt`
- echo $filename
- echo -------------
- echo "basename ab.c .c; suffix is .c"
- basename ab.c .c
- echo "basename ab b; suffix is b"
- basename ab b
- echo -------------
- echo Testing \$\@ and \$\#
- echo Output \$\@
- echo $@
- echo Output \$\#
- echo $#
- # end of basename.sh
- 没有参数传递的情况:
- $./basename.sh
- Testing basename
- -------------
- basename $1/$2 .txt; suffix is .txt
- /
- -------------
- basename ab.c .c; suffix is .c
- ab
- basename ab b; suffix is b
- a
- Testing $@ and $#
- -------------
- Output $@
- Output $#
- 0
- 传递参数的情况:
- $ ./basename.sh 1.txt 2.txt
- Testing basename
- ------------
- basename $1 .txt; suffix is .txt
- 1
- -------------
- basename ab.c .c; suffix is .c
- ab
- basename ab b; suffix is b
- a
- Testing $@ and $#
- -------------
- Output $@
- 1.txt 2.txt
- Output $#
- 2
1、$@$@ 为传递的参数2、$#$# 为传递参数的数量
- Testing $@ and $#
- -------------
- Output $@
- 1.txt 2.txt
- Output $#
- 2
3、$?
是shell变量,表示"最后一次执行命令"的退出状态,一般0表示成功,非0数值表示没有成功。切记:$?永远表示shell命令最后一次执行后的退出状态,当函数执行完毕后,如果又执行了其它命令,则$?不再表示函数执行后的状态,而表示其它命令的退出状态.4、$!代表pid,进程id5、$$代表ppid,父进程id
- $ ./skype &
- [2] 13549
- $ echo $!
- 13549
- $ echo $$
- 13032
- $ ps -ef | grep skype
- luck 13549 13032 4 19:19 pts/0 00:00:00 skype
原文链接:https://blog.csdn.net/wutao_water/article/details/39478631
basename命令详解的更多相关文章
- (转)Linux: dirname、basename命令详解
Linux: dirname.basename命令详解 原文:http://blog.sina.com.cn/s/blog_3f63916f010143vo.html 一.dirname指令 1.功能 ...
- 【官方文档】Nginx模块Nginx-Rtmp-Module学习笔记(一) RTMP 命令详解
源码地址:https://github.com/Tinywan/PHP_Experience 说明: rtmp的延迟主要取决于播放器设置,但流式传输软件,流的比特率和网络速度(以及响应时间“ping” ...
- 转 linux之sed命令详解
http://jingyan.baidu.com/article/fec4bce2228f60f2618d8bb0.html sed 编辑裁剪文件命令 sed -i "s/\/db\/te ...
- Git初探--笔记整理和Git命令详解
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...
- linux yum命令详解
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...
- Linux下ps命令详解 Linux下ps命令的详细使用方法
http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...
- Docker命令详解
Docker命令详解 最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...
- linux awk命令详解
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- android adb 命令详解
ADB (Android Debug Bridge) 是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设 ...
随机推荐
- 4、JVM-虚拟机性能监控与故障处理工具
前言: Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来. 4.1.概述 给一个系统定位问题的时候,知识.经验是关键基础,数据是依据,工具是 ...
- 预备作业二——有关CCCCC语言(・᷄ᵌ・᷅)
有关CCCCC语言(・᷄ᵌ・᷅) 下面又到了回答老师问题的时候啦-(・᷄ᵌ・᷅) 有些问题正在深思熟虑中!敬请期待近期的不间断更新! 你有什么技能比大多人(超过90%以上)更好? 针对这个技能的获取你 ...
- Python之Tornadoweb框架使用
本文主要讲解Tornadoweb框架的安装和介绍及其简单使用. 一. 安装介绍 Tornado是一个Python Web框架和异步网络库,最初是在FriendFeed上开发的.通过使用非阻塞网络I / ...
- Docker实战(十)之分布式处理与大数据平台
分布式系统和大数据处理平台是目前业界关注的热门技术. 1.RabbitMQ RabbitMQ是一个支持AMQP的开源消息队列实现,由Erlang编写,因以高性能.高可用以及可伸缩性出名.它支持多种客户 ...
- python开发_stat
当我们使用os.stat(path)获取一个文件(夹)信息的时候, os.stat(path)本身返回的是一个元组如: nt.stat_result(st_mode=33206, st_ino=203 ...
- 小H和密码
链接:https://www.nowcoder.com/acm/contest/72/B来源:牛客网 题目描述 小H在击败怪兽后,被一个密码锁挡住了去路 密码锁由N个转盘组成,编号为1 ...
- mysql命令框中向表中插入中文字符,在可视化工具MySQL Workbeach或phpMyAdmin中不显示或显示乱码的问题解决
一.问题导出 在刚刚开始学习MySQL数据库应用与开发这门课程的时候,老师建议我们使用可视化工具MySQL Workbeach进行数据库的相关管理,但是小编在mysql命令框使用insert命令向表 ...
- 探索photo-sphere-viewer全景插件
此插件是一位外国人写的,官网API地址:https://photo-sphere-viewer.js.org/#methods 我只是记录下我在使用此插件时用到的方法和相关属性,以防以后忘记 1.按要 ...
- Hexo之NexT配置过程中遇到的问题
写在前面 从搭建到布置到GitHub花费时间大概用了五个小时,中间删除repo N次,localhost运行正常,git上出现过404页面.若干次README.md页面,本文将简略介绍搭建过程,主要内 ...
- Kafka基础认识
1):Apache kafka介绍及架构详解 假设一个场景: 数据源: 应用系统A 产生的用户访问数据和订单数据 10000 条一秒钟 push:推送数据 消息系统:队列 产生的数据量>数据量 ...