歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

SHELL命令——取路徑和文件名:dirname basename

SHELL命令——取路徑和文件名:dirname basename   取一個文件存儲路徑,可以用dirname。使用起來分兩種情況: 一、帶全路徑的,例:aguo@auto-test:~> dirname /home/aguo/insert.sql           /home/aguo #獲得文件所在目錄    二、僅僅是文件名的,例:aguo@auto-test:~> dirname Environment           .   表示路徑就是當前目錄    取一個文件名(去掉後綴名),可以用basename。這個命令使用起來貌似有些死板。你要完整地寫出後綴名。例:  aguo@auto-test:~> basename insert.test.sql test  insert.test.sql  aguo@auto-test:~> basename insert.test.sql sql  insert.test    當然,dirname和basename還有純shell的比較酷的代替方法。 dirname:  aguo@auto-test:~> a=/home/aguo/insert.sql  aguo@auto-test:~> echo ${a%/*}  /home/aguo    basename:  aguo@auto-test:~> a=insert.test.sql  aguo@auto-test:~> echo ${a%%.*}  insert  復雜點兒的  a=/home/aguo/insert.test.sql ##只取出不帶路徑,不帶.的文件。    a=${a%%.*} && a=${a##*/} && echo $a
Copyright © Linux教程網 All Rights Reserved