問題タブ [bash-function]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - Bash 関数ですべての引数の部分範囲を使用する
Bashスクリプトにこの関数があります:
ご覧のとおり、引数$1
とで何か特別なことをしています$2
。次に、残りのすべてをコマンドの最後にハックして追加します。それらは に移動し$9
ますが、実際にはすべて追加する必要があります。
これにはもっと簡単な方法があるはずですか?
bash - Bash 関数の引数が「コマンドが見つかりません」というエラーを返す
新しいjekyll投稿を作成するために、bashスクリプトにこの機能があります。しかし、コマンドが見つからないという引数を返します。スクリプトは次のとおりです。
しかし、実行しようとすると、次のように返されます。
引数をコマンドとして実行しようとしているようです。
私もこれを試してみましたが、同じ結果が得られました
誰が私が間違っているのか教えてもらえますか?
bash - Bashの関数は、引用符で囲まれた引数を分解してコマンドを呼び出しますか?
Bashに関数があるとしましょう:
ll
のような作品を作ることですls -l
。ほとんどの場合、うまくいきますが、
name のファイルに対して機能しますha ha
が、
と見なされるため、失敗します。
これを機能させる方法はありますか?私たちはそれを成し遂げることができたと思います
( は と"$@"
は異なり、"$*"
個々"$@"
に引用されていることを意味し、 while"$*"
はすべて 1 つの文字列で引用されていることを意味します)
しかし、実際には機能しますll -t "ha ha"
がls -l "-t" "ha ha"
、ちょっと奇妙で、場合によっては故障する可能性があるかどうかはわかりません。
それを機能させる別の方法はありますか、そして別のことは、関数で考えcommand ls -l "$@"
てls -l "$@"
同じですか?(command
プログラムを直接実行し、再帰の発生を防ぐために可能なbash関数を呼び出さないだけですか?)
bash - サブシェルから値を返し、ローカル変数に出力する
説明できない奇妙な動作を見つけました。次のコードは正常に動作します。
私が期待する価値を得ることを意味します:
local
変数に定義を追加するとすぐに:
私は次のようになります:
質問:なぜですか? 何が起きたの?サブシェルからlocal
変数への出力をキャッチして、サブシェルの戻り値を確実にチェックできますか?
PS :prepare-archive
メイン シェル スクリプトで呼び出されます。1 つ目exit
はexit
fromcheck-spec-file
関数、2 つ目は fromprepare-archive
関数です。この関数自体はメイン シェル スクリプトから実行されます。check-spec-file
byから値を返しexit 1
、この値を に渡しますexit $?
。したがって、それらは同じであるべきだと思います。
bash - 中括弧の代わりに括弧を使用してbash関数本体を定義する
このスクリプトは、括弧付きのbash関数と中括弧付きのbash関数の定義を示しています。括弧は、関数本体がサブシェルとして実行されるため、関数「ローカル」で作成された環境変数を作成するという優れた効果があります。出力は次のとおりです。
問題は、これが関数を定義するための構文として許可されているかどうかです。
linux - find から pdf ビューアーに出力をパイプする方法
こんにちはバッシュスーパーヒーロー、
findからの出力を aa pdf ビューアーにパイプする単純な bash 関数を作成しようとしていますが、同様ですがevinceに限定されています。
上記の関数はビューアを開きますが、目的のファイル/パスは表示されません。最終的に、 findから出力されたすべての pdf を表示したいと思います。次のような単純な検索コマンド:
次のような出力を作成します。
次に、これら 2 つの pdf ファイルをビューアーに表示します。
アイデアや提案はありますか?それが役立つ場合、私はLinux Mintを使用しています。よろしくお願いします!
bash - grepall を実装する .bashrc 関数
私は2つのbash関数catallとgrepallを持っています
catall
正常に動作し、最初にファイル名が出力され、次にコンテンツと新しい行が出力されたすべてのファイルを cat します。
しかし、grepall
機能しません。同じことを行う必要がありcatall
ますが、ファイルのコンテンツにgrepステージを使用します
$2
サブされない理由
このgrepallを機能させることはできますか?
bash - replaceInAll スクリプトは cli で動作しますが、.bashrc 関数としては動作しません
この .bashrc 関数は、コマンド ラインで動作します。これは、bash の優れた 1 行です。
しかし、それをbashプロファイルに移動すると、機能しなくなりますか?
replaceInAll (){
find . -name "$1" -print | xargs sed -i 's/$2/$3/g'
}
私はこれで何がうまくいかないのですか?