[英]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.