Tôi có một tập lệnh tìm tập tin trong thư mục được chỉ định bởi người dùng.
#!/bin/bash
# make sure about the correct input
if [ -z $1 ]
then
echo "Usage: ./script_name.sh path/to/directory"
else
DIR=$1
if [ $DIR = '.' ]
then
echo "Find files in the directory $PWD"
else
echo "Find files in the directory $DIR"
fi
find $DIR -type f -exec basename {} \;
fi
nếu tôi nhập
$ ./script_name.sh .
kịch bản cho tôi thay thế chính xác ./ thành $ PWD và hiển thị (ví dụ)
$ Find files in the directory /root/scripts
Nhưng tôi không thể đưa ra quyết định làm thế nào để thay thế ../ thành tên của thư mục ngay trên hệ thống phân cấp. Nếu tôi nhập
$ ./script_name.sh ..
kịch bản cho tôi đầu ra
$ Find files in the directory ..
Có ai biết cách thay thế ../ thành tên thật của thư mục không?
realpath
lệnh nếu nó có sẵn.