ユーザーが「読み取り」入力オプションを使用せずに、ターミナルコマンドラインから単一の引数を渡したり、その名前でディレクトリを生成したり、そのようなディレクトリが存在することをユーザーに知らせる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