0

コマンドライン引数としてスクリプトを実行するパスを取得するのに問題があります。テストが存在するかどうかをテストし、そのパスに変更して作業を実行します。ここで私がしようとしていること:

#!/bin/bash

scriptpath=$1

if [ $# -lt 1 ]
then
    echo "Usage: script.sh <directory_name>"
fi

if [ -d scriptpath ]
then
    # work......
else 
    echo "Directory does not exist"

fi
4

1 に答える 1

4

これを変える:

if [ -d scriptpath ]

これに:

if [ -d $scriptpath ]

また、""引数に奇妙な文字が含まれている場合でもスクリプトが適切に動作するように、を使用することをお勧めします。(Unix では、ファイル名内にスペース、改行、アスタリスク、さらには制御文字を使用できます。)

scriptpath="$1"

...

if [ -d "$scriptpath" ]
于 2012-08-10T21:25:20.830 に答える