簡體   English   中英

目錄作為命令行參數而不在Linux中使用完整路徑名

[英]Directory as command line argument without using full path name in linux

您如何從當前目錄中-ls另一個目錄的內容而不將另一個目錄的完整路徑作為命令行參數列出? 我還需要按大小對目錄的內容進行排序,並且僅輸出大小和名稱。 例如,我有以下名為script.sh shell腳本:

#!/bin/bash
ls -lS $1 | awk '{print $5, $9}'

-lS按大小列出文件,而awk僅輸出大小和文件名作為輸出。 $ 1是命令行參數,但是現在,它只能采用目錄的完整路徑才能起作用。 例如,我有一個目錄,其路徑為/accounts/documents/folder/directory1

要調用此腳本,我必須鍵入$ script.sh /accounts/documents/folder/directory1才能使其正常工作。 我可以在腳本中進行一些更改,以便在命令行中僅鍵入$ script.sh directory1來使其工作嗎?

任何幫助表示贊賞!

假設您要查找的目錄始終是一個子目錄,則以下腳本應該起作用:

#!/bin/bash
for FILE  in `find . -name "$1" `
do
    if [ -d $FILE ]
    then
        ls -lS $FILE | awk '{print $5, $9}'
    fi
done

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM