タグ付けされた質問 「arguments」

引数は通常、関数、プロシージャ、またはコマンドラインプログラムに渡される実際の値として定義されます。

2
なぜ `sort <“ $ f1”`が `sort —“ $ f1”`よりも優先され、なぜこれが `sort“ $ f1”`よりも優先されるのですか?
https://unix.stackexchange.com/a/458074/674から -- 任意の引数をコマンドに渡すときに使用することを忘れないでください(または、可能な場合はリダイレクトを使用してください)。だから、sort -- "$f1"またはより良いsort &lt; "$f1"の代わりにsort "$f1"。 使用--とリダイレクトが望ましいのはなぜですか? なぜsort &lt; "$f1"優先されるのsort -- "$f1"ですか? なぜ sort -- "$f1"優先されるのsort "$f1"ですか? ありがとう。

4
cdのラッパーを書くときにcd“ $ 1”の代わりにcd“ $ @”を使用する必要があるのはなぜですか?
他の場所では、次のようにcd関数を見ました: cd() { builtin cd "$@" } $@代わりに使用することが推奨されるのはなぜ$1ですか? テストディレクトリ「r st」を作成し、この関数を含むスクリプトを呼び出しましたが、どちらの方法でも機能しました $ . cdtest.sh "r st" しかし、 $ . cdtest.sh r st私が使用するかどうか失敗しました"$@"か"$1"


2
'bash -c'に引数を追加します
次のようにBashを介してコマンドを実行するとします。 /bin/bash -c "ls -l" Bashのマニュアルページによると、次のように実行することもできます。 # don't process arguments after this one # | pass all unprocessed arguments to command # | | # V V /bin/bash -c ls -- -l 動作していないように見えます(無視されているようです)。私は何か間違ったことをしているのですか、それともmanページを間違って解釈していますか? 男性からの関連する引用: -cオプションが存在する場合、コマンドはstringから読み取られます。文字列の後に引数がある場合、$ 0から始まる位置パラメータに割り当てられます。 そして A-オプションの終了を通知し、さらにオプション処理を無効にします。-の後の引数は、ファイル名と引数として扱われます。

4
find + xargs:引数行が長すぎます
次のような行があります。 find /foo/bar -name '*.mp4' -print0 | xargs -i {} -0 mv -t /some/path {} しかし、私は次のエラーを受け取りました: xargs: argument line too long 私は混乱しています。の使用はxargs、この問題に正確に役立つと思われませんか? 注:-exec findで技術的に使用できることは知っていますが、上記が失敗する理由を理解したいと思います。なぜなら、私の理解はxargs、入力を実行可能な引数に管理可能なサイズに分割する方法を知っているはずだからです これは真実ではありませんか? これはzshですべてです。
21 xargs  arguments 

4
一部のコマンドが標準入力から読み取れないのはなぜですか?
パイプラインをいつ使用すべきなのか、使用すべきでないのはいつだろうか。 たとえば、pdfファイルを処理する特定のプロセスを強制終了するには、パイプラインを使用しても以下は機能しません。 ps aux | grep pdf | awk '{print $2}'|kill 代わりに、次の方法でのみそれを行うことができます。 kill $(ps aux| grep pdf| awk '{print $2}') または ps aux | grep pdf | awk '{print $2}'| xargs kill man bash(バージョン4.1.2)によると: The standard output of command is connected via a pipe to the standard input of command2. …
19 shell  pipe  arguments  stdin 

4
あるプログラムの標準入力を引数として別のプログラムに渡すにはどうすればよいですか?
2つの引数を取るプログラムが存在するとします。入力ファイルと出力ファイル。 この出力ファイルをディスクに保存するのではなくstdin、別のプログラムに直接渡す場合はどうなりますか。これを達成する方法はありますか? Linuxで出くわす多くのコマンドには、出力ファイルの引数として「-」を渡すオプションがあります。これは、上記で指定したことを行います。これstdinは、プログラムのを引数として渡すことができないためですか?もしそうなら、どうすればいいのでしょうか? これを使用してどのようにイメージするかの例は次のとおりです。 pdftotext "C BY BRIAN W KERNIGHAN &amp; DENNIS M RITCHIE.pdf" stdin(echo) 私が使用しているシェルはbashです。

2
引数として指定されたファイルからデータを読み取ることを期待するプログラムにデータをストリーミングするにはどうすればよいですか?
gzipで圧縮された巨大なファイルがあり、プログラム(この場合は4s-import)で読み取りたい。最初にファイルを解凍し、次にファイルへのパスを引数としてプログラムを呼び出すには、多くの時間がかかります。次のようなことをすることは可能でしょうか? zcat huge.gz | 4s-import &lt;SOME MAGIC&gt; SOME-MAGICは、stdinを含む抽象ファイルへのパスのようなものですか? 私がしなければならない非常に遅くてディスクスペースを消費する代替手段は次のとおりです: zcat huge.gz &gt; huger 4s-import huger

2
bashスクリプトで引数をループする方法
引数の量が不明なbashスクリプトを書きたいと思います。 これらの議論をどのように歩き、それらで何かをすることができますか? 間違った試みは次のようになります。 #!/bin/bash for i in $args; do echo $i done
16 bash  shell  arguments 

2
STDINとコマンドに渡される引数の違いは何ですか?
いずれかの形式を使用してcatメソッドを実行できます。 cat file_name cat &lt; file_name 結果は同じです 次に、私manはの形式で実行したいstdin man &lt; file_name しばらくはfile_name含まれています: # file_name cat ただしWhat manual page do you want?、executeではなくポップアップし man catます。 なぜ引数としてcat受け入れるstdinことがmanできるができないのかを知りたい。そして、コマンドライン引数との違いは何stdinですか?

5
ソースコードなしでプログラムの引数を非表示にする
実行中のプログラムに対する機密性の高い引数を非表示にする必要がありますが、ソースコードにアクセスできません。また、共有サーバーでこれを実行しているので、hidepidsudo特権がないため、次のようなものは使用できません。 ここに私が試したいくつかのものがあります: export SECRET=[my arguments]に続いてを呼び出しますが./program $SECRET、これは役に立たないようです。 ./program `cat secret.txt`どこsecret.txtに私の議論が含まれていますが、全能者psは私の秘密を嗅ぎ分けることができます。 管理者の介入を必要としない私の引数を隠す他の方法はありますか?
15 linux  process  ps  arguments 


2
シェルスクリプト内のプログラムにコマンドラインパラメーターを渡す
./script.sh arg1 [arg2 arg3 ...]コマンドライン引数はarg1、arg2、...によって得することができ$1、$2...しかし、引数の数がされないで固定します。 シェルスクリプトではarg2、プログラムから開始する引数を渡します。 #/bin/bash ... /path/to/a/program [I want to pass arg2 arg3 ... to the program] ... 1つ以上の引数がある可能性があるので、どうすればそれができますか?

3
「find -exec」はどのようにファイル名にスペースを渡しますか?
名前にスペースが含まれるファイルを含むディレクトリがある場合、たとえば $ ls -1 dir1 file 1 file 2 file 3 これらすべてを次のように別のディレクトリに正常にコピーできます。 $ find dir1 -mindepth 1 -exec cp -t dir2 {} + ただし、の出力にfind dir1 -mindepth 1はエスケープされていないスペースが含まれます。 $ find dir1 mindepth 1 dir1/file 1 dir1/file 3 dir1/file 3 のprint0代わりに使用する場合print、出力にはエスケープされていないスペースが含まれています。 $ find dir1 mindepth 1 -print0 dir1/file 1dir1/file 2dir1/file 3 を使用してこれらのファイルを手動でコピーcpするには、スペースをエスケープする必要があります。しかし、私がコマンドを使用するか、コマンドの最後に関係なく、cpの引数が来るとき、これは不要であるようです。find+\; …

2
フラグ、オプション、および引数の違いは何ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 3年前に閉店しました。 ls -a(-aオプションを検討します) sudo -u username(-u=オプション、username= arg) chmod 664 my-dir(664=オプション、my-dir= arg) おそらくディレクトリ一覧を見るときを除いて、「これはフラグです」と言う例は考えられません。 -r--------. 1 david david 3344 May 19 17:48 611056.pdf これには、所有者に設定された「読み取りフラグ」がありますが、それだけです。それを「読み取りオプション」と呼ぶのを止めるのは何ですか? 私は主にDocBook XMLで技術文書を作成および編集しますが、可能な限り一貫性があり正確な違いの説明を探しています。しかし、私はすでにパターンが形成されているのを見ています: フラグはブール値になる傾向があります。例えば、setenforce 0 オプションは、コマンドの動作を定義するのに役立ちます。一部はオプションです。 引数は、操作するオブジェクトをコマンドに伝えます。 フラグとオプションを組み合わせて自分自身を見ることができました(一部のオプションには12個の値がありますが、ブール値には2つしかありません)。引数は、それ自体を維持するのに十分に異なって見えます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.