JIYIK CN >

Current Location:Home > Learning > OPERATING SYSTEM >

Find Current Folder Name in Bash

Author:JIYIK Last Updated:2025/03/22 Views:

Finding a directory is very easy through Bash scripting. But finding the exact directory folder name you are in right now is a bit complicated.

This article will introduce three methods to find the folder name from this article directory. In addition, we will see the necessary examples and explanations to make the topic easier to understand.


Find Current Folder Name in Bash

To do this, we will use a special keyword: PWD. This built-in keyword in Bash is used to find the current working directory.

In the following example, we will find the name of the folder we are currently in. The code for our example is shown below.

current_dir=${PWD##*/}
echo "$current_dir"

The above is the simplest way to accomplish the task. But our next example is a little more complicated.

We will use the example below to find the folder name.

Current_Dir=${PWD##*/}
Current_Dir=${Current_Dir:-/}
printf '%s\n' "${PWD##*/}"
printf '%q\n' "${PWD##*/}"

In the example above, we Current_Dir=${PWD##*/}assign a variable using the line, and with Current_Dir=${Current_Dir:-/}the line we correct PWD=/the case of .

After that, you can use any of the next two lines. Both lines will be printed to standard output.

But the first line is more robust than echo for some unusual names, where the second line is quoted for use as shell input, and it's also useful for making hidden characters readable. After running the above script, you'll only get the folder names of the current directory.

We can also perform a similar task with the following example. Here, we put the entire directory in a variable.

The code for our next example is shown below.

DirectoryStr=/path/to/somewhere//
shopt -s extglob
CurrentDir=${DirectoryStr%%+(/)}
CurrentDir=${CurrentDir##*/}
CurrentDir=${CurrentDir:-/}
printf '%s\n' "$CurrentDir"

Let's explain this example piece by piece.

  1. In the first line, we create a variable and assign the directory path to it as a string.
  2. Then, with the shopt -s extglob line, we enabled the +(...) glob syntax.
  3. With CurrentDir=${DirectoryStr%%+(/)}this line, we trim the string regardless of how many trailing slashes are present in the string.
  4. With CurrentDir=${CurrentDir##*/}this line, we delete everything before the last /.
  5. We have just CurrentDir=${CurrentDir:-/}corrected the directory case with the line
  6. Finally, we just printed the directory folder.

All the codes used in this article are written in Bash. It will only work in Linux Shell environment.

Previous:Changing Directories in Bash

Next: None

For reprinting, please send an email to 1244347461@qq.com for approval. After obtaining the author's consent, kindly include the source as a link.

Article URL:

Related Articles

Changing Directories in Bash

Publish Date:2025/03/22 Views:75 Category:OPERATING SYSTEM

In this article, we will learn how to change directories in Bash. The term directory is used to refer to a folder. Because you frequently move between folders when using Bash and when using the Git version control system, it is essential to

Running Regular Expressions in Case Statements in Bash

Publish Date:2025/03/22 Views:75 Category:OPERATING SYSTEM

This article explores regular expressions, their basic syntax, and how to run them in Bash using case and if-else constructs. Introduction to Regular Expressions A regular expression, also called regex or regexp, is a sequence of characters

Sending a message to logged in users in Bash

Publish Date:2025/03/22 Views:168 Category:OPERATING SYSTEM

This article explores methods to send data to another logged in user in Bash. This article discusses methods to find active users and send them messages. Finding Online Users in Bash Before sending data to an online user, you must verify wh

Bash copy all files from remote directory

Publish Date:2025/03/22 Views:156 Category:OPERATING SYSTEM

This article describes methods for copying files between different hosts on a network. It also explores the scp command and how to use it to copy files from a remote location. scp command Secure Copy Protocol (SCP) is a secure copy network

Batch file to loop through files in subdirectories

Publish Date:2025/03/22 Views:96 Category:OPERATING SYSTEM

This article explains how we can write a batch script to loop through files in subdirectories. We will take an example to explain the concept. Batch file to loop through files in subdirectories Assume we have the directory structure shown b

Batch file to remove X characters from a file name

Publish Date:2025/03/22 Views:153 Category:OPERATING SYSTEM

This article explains how we can remove specific characters from the filename of a file using a batch script. We will cover several methods below to rename files on Windows. File Explorer Renaming on Windows File Explorer offers the least f

Declaring variables in batch script

Publish Date:2025/03/22 Views:65 Category:OPERATING SYSTEM

This article will demonstrate how to declare and define variables in a batch script. Declaring variables in batch script In Batch, you do not need to use any additional keywords to declare integer, float, double, or string type variables. T

Batch Check for Empty Variables

Publish Date:2025/03/22 Views:86 Category:OPERATING SYSTEM

This article explains how we can test if a variable has been set. We can use an if statement to check if a variable has been defined. Batch check whether variables are empty For a simpler context, we will start by defining two strings, str1

Floating-point arithmetic in Bash

Publish Date:2025/03/22 Views:189 Category:OPERATING SYSTEM

This short article describes how to quickly perform floating-point calculations in GNU BASH (shell scripts) directly at the command prompt or in a shell script. If you work with numbers, it can be helpful to perform quick floating-point cal

Scan to Read All Tech Tutorials

Social Media
  • https://www.github.com/onmpw
  • qq:1244347461

Recommended

Tags

Scan the Code
Easier Access Tutorial