簡體   English   中英

如何輸入目錄作為命令行參數

[英]how to enter a directory as a command line argument

#!/bin/bash

echo Enter a Directory Name:
read

if [ -d "$1" ];
 then
  find "$1" -type f -size 0 -delete
  find "$1" *.tmp -type f -delete
  find "$1" *.swp -type f -delete
  tar -cvzf mytarfile.tgz "$1"
else
  echo "This is not a directory"
fi

當我自己使用./program.sh Desktop將目錄放在目錄中時,腳本將運行。 如果我的桌面上沒有txt,.tmp和.swp文件,它將刪除它們並生成tar文件。 如何在(讀取)行中輸入目錄,例如Documents或MyMusic。 它允許我鍵入某些內容,然后轉到其他位置並打印“這不是目錄。

將所有$1替換$1 $REPLY


看一下read的語法: help read

您可以使用變量來讀取目錄名稱,例如:

echo "Enter a Directory Name:"
read Dir_Name

或更好:

read -p "Enter Directory Name:" Dir_Name

然后將所有$1替換$1 ${Dir_Name}

$1是Unix中的特殊變量。 在這里閱讀: 特殊變量

暫無
暫無

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

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