問題タブ [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.
shell - シェルスクリプト関数から単一の値を返す
例:
$r
コマンドの出力が含まれていt
ますf
が、出力も含まれていますls
。
私は書くかもしれませんがls -1 a* >/dev/null 2>/dev/null
、エラーにつながる可能性のあるより複雑なスクリプトがある場合。
から単一の値を返す方法はありますa()
か?
bash - Bash関数が引数を取得したかどうかを確認するにはどうすればよいですか?
簡単な質問。私はemacsが大好きです。私はタイピングが嫌いなので、e
emacsを呼び出すために使用するのが好きです。
以前は、.bash_profile(OS X)を次のように構成していましalias e="emacs ."
た。しかし、1つのファイルを編集したいだけなのに、まだemacs{file}と入力しなければならないことにうんざりしていました。
だから私はグーグルからこれをかき立てようとしました、しかしbashは:について不平を言ってい[]
ます:
私はこれを使って次のことをしたい:e something.c
または、ただe
。
bash - bash 関数でバックグラウンド プロセスを生成する
特定のフォルダーから起動する必要があるサーバーを起動する Bash 関数の作成に取り組んでいますが、このサーバーを起動して現在の作業に影響を与えたくありません。私は次のように書いています。
変数はすべて設定されていますが、これを実行すると、出力に予期しないセミコロンに関するエラーが表示され${SERVERCOMMAND}
ます。バックグラウンドで始まるアンパサンドの後に Bash がセミコロンを挿入しているようです。
${SERVERCOMMAND}
現在のディレクトリに確実に戻るように pushd と popd を使用しながら、バックグラウンドで開始するためにできることはありますか?
編集:echo ${SERVERCOMMAND}
リクエストされたので、の出力:
エラーメッセージ:
git - Gitエイリアスを使用してBash関数を起動する方法
〜/ .gitconfigでGitエイリアスを使用して、定義されている場合はbash関数を呼び出し、そうでない場合は通常のを呼び出しますgit checkout
。
これは私が考案したものです:
dash
問題は、Gitが/ bin / sh(私の場合はたまたまそうです)を使用しcompgen
、組み込みであるためにバーフオンすることですbash
。
Gitがbash
このコマンドを実行するために使用することを確認する方法はありますか?
vxzExecuteGitCheckout()
まだ〜/.bashrcに含まれていないファイルで定義されていることに注意してください。
もう1つの質問は、を使用する場合、このBash関数が見つからない場合git co -b param1 param2 ...
、上記のエイリアス定義はに渡されますか?-b param1 param2
git checkout
bash - BASH:ifステートメントはコマンドと関数を実行します
簡単に解決できるはずの問題に遭遇しましたが、一生の間、それを理解することはできません。本当に遅いのかもしれません。わからない。
したがって、シェルスクリプトがあり、実行する必要のあるifステートメントがあります。問題は、このbashスクリプト内に、ifステートメント内にこのfindコマンドの一部を実際に構築するために使用している関数があることです。エラーを受け取らずに両方を実行する方法を知りたいです[: too many arguments
。
現在のコードは次のとおりです。
本当に投稿する必要があるのはそれだけです。そのfindコマンド内でそれを実行する方法を理解する必要がありbuild_ext_names
ます。これはifstatement内にあります。
jrubyonrails - bash 関数で認識されない bash エイリアス: sunspot_rails、jruby、rspec
バックグラウンドで太陽黒点を実行するための以下のエイリアスは、それらのインスタンスを見つけて殺すための以下のエイリアスで機能します。 .
$user_id は、この sunspot_ports() が呼び出される前に設定され、rebash への最初のログインがソース ~.bashrc のエイリアスであるときに適切に出力されます。
私は開発用と本番用のエイリアスも持っています - これは単なる代表的なコードです。
関数内で .bashrc をソースし、エイリアスを展開されたコマンドに置き換え、すべての組み合わせで関数を sunspot_ports() 内に配置してみました。ログインすると太陽黒点ポートが正しく出力されるので、このコードが実行されることがわかります。
また、jvm では fork が許可されていないため、これを jruby コードのどこかではなく .bashrc の関数として使用する必要があります (それ以外の場合は、スペック テストで sunspot-solr start と sunspot-solr end を使用します)。
bash - 呼び出し時に渡さずにbash関数からスクリプトパラメータにアクセスする
関数がスクリプトパラメーターで明示的に呼び出されていない場合、スクリプト関数からbashスクリプトパラメーターにアクセスする方法はありますか?
ありがとう。
bash - パイプの一部である場合、bash 関数は失敗します
これは、私が抱えている問題を単純化する試みです。変数を設定する関数を定義すると、これは次のシナリオで機能します。
したがって、res は myfunc の呼び出しによって変更されています。しかし:
したがって、myfunc がパイプの一部である場合、値は変更されません。パイプが関係している場合でも、myfunc を希望どおりに動作させるにはどうすればよいですか?
(実際のスクリプトでは、"myfunc" はもちろんより精巧な処理を行い、パイプの反対側には無意味なエコーではなく、zenity 進行ダイアログが表示されます)
ありがとう
bash - bash 関数のタイミング
bash 関数の実行にかかる時間を知りたいです。少し調査した後、サブシェルを使用するこのアプローチを思いつきました。
bash関数の時間を計る代替/より良い方法はありますか?
更新:time
呼び出しを関数に埋め込んで、毎回実行しなくても実行できるようにしますtime test-function
。私はそれについてもっと明確にするべきでした。