使用法

使用法

ユーザーが「読み取り」入力オプションを使用せずに、ターミナルコマンドラインから単一の引数を渡したり、その名前でディレクトリを生成したり、そのようなディレクトリが存在することをユーザーに知らせるbashスクリプトを生成する必要があります。入力オプションを読み取らずに入力がmkdirに渡されることを除いて、ほとんどのスクリプトは非常に単純に見えます。

私が試したが失敗したもの:

1)ユーザーに端末にディレクトリ名を入力するように求められ、スクリプトを再実行して履歴オプションを入力として使用します。

2)ユーザー入力をファイルに書き込もうとしましたが、読み取る必要があることがわかりました。

どんなアドバイスや助けにも感謝します。よろしくお願いします。

答え1

ユーザーは、「読み取り」入力オプションを使用せずに、ターミナルコマンドラインから単一の引数を渡したり、その名前でディレクトリを作成したり、そうでない場合は、ユーザーにディレクトリが存在することを知らせます。

必要なのは一般的な位置コマンドライン引数のようです。

スクリプトソースコードmkdir1:

#!/bin/sh
mkdir "$1"

使用法

./mkdir1 foo
./mkdir1 foo
mkdir: cannot create directory ‘foo’: File exists

foo初めて実行したときに作成しましたmkdir1。 2番目にはすでに存在することを示す通知が表示されます。

これはあなたの仕様に合うようです。読む構築する必要はありません。

説明する

$1最初の位置パラメータです。$2第二になります。

この質問に必要なものよりも複雑な例では、さまざまなソースから位置パラメータに関する詳細情報を見つけることができます。バッシュハッカーウィキ、次のように要約されます。

$0           is usually the name of the shell
$FUNCNAME    the function name if inside a function, or $0
$1 - $9      the argument list elements from 1 to 9
${10} - ${N} the argument list elements beyond 9

$*  all positional parameters except $0
$@  all positional parameters except $0
$#  the number of arguments, not counting $0

関連情報