简体   繁体   English

Bash 脚本如何逐个显示文件名

[英]Bash Script how to show filename case by case

I make file "my.sh" and in the file I write code我制作文件“my.sh”并在文件中编写代码

if [ $# = 0 ]; then
   echo "filename: $0"
fi

and I execute my.sh file然后我执行my.sh文件

$ my.sh -> I want output [ filename: my.sh ] $ my.sh -> 我想要输出 [ filename: my.sh ]

however, the result shows [ filename: ./my.sh ]但是,结果显示 [ filename: ./my.sh ]

I finally want when I enter my.sh , the output shows [ filename: my.sh ] and when I enter ./my.sh , the output shows [ filename: ./my.sh ]我终于想要当我输入my.sh ,输出显示 [ filename: my.sh ] 而当我输入./my.sh ,输出显示 [ filename: ./my.sh ]

You could use basename :您可以使用basename

#!/usr/bin/env bash
if [ $# = 0 ]; then
   echo $(basename $0)
fi

Also, take a note that [[ is generally safer to use .另外,请注意[[通常使用.

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM