2

私はcshシェルスクリプトを書いています。runそこでは、ユーザーが変数としてパスを渡すことが期待されてい$1ます。欠落しているかどうかを判断$1し、代わりにデフォルト値を定義するにはどうすればよいですか?

4

2 に答える 2

3

これはtcshバージョン6.15.00で動作することがわかっています

#! /bin/csh

if( $#argv == 0 ) then
        set filename="(default file)"
else
    set filename=$argv[1]
endif

echo "The file is $filename."

POSIXシェルの場合のように、 csh
に は標準がありません。しかし、少なくとも基本的なものであり、ポータブルである必要があります。if-then-else$#argv

関連項目
POSIXおよびKornShellと他のシェル
Cshプログラミングは有害な
Bashと見なされます

于 2010-09-29T20:14:41.677 に答える
-1

あなたは次のようなことをすることができます:

if [ $# -eq 0 ];then
        dir='default' # argument not passed use default.
else
        dir=$1        # argument passed..use it.
fi

# use $dir 
ls $dir
于 2010-09-28T15:38:39.223 に答える