最新記事

bash で複数のバックグラウンド コマンドを 1 行で実行するにはどうすればよいですか? 質問する
linux
bash
shell

bash で複数のバックグラウンド コマンドを 1 行で実行するにはどうすればよいですか? 質問する

通常、次のように複数のコマンドを実行します。 sleep 2 && sleep 3 または sleep 2 ; sleep 3 しかし、1 つのコマンド ライン コマンドから両方をバックグラウンドで実行したい場合はどうすればよいでしょうか? sleep 2 & && sleep 3 & &&は機能しません。; それを実行する方法はありますか?

Admin

バッチファイルでパラメータが空かどうかをテストする適切な方法は何ですか? 質問する
windows
shell
batch-file
cmd

バッチファイルでパラメータが空かどうかをテストする適切な方法は何ですか? 質問する

変数が設定されているかどうかをテストする必要があります。いくつかの手法を試しましたが、が の%1場合のように、 が引用符で囲まれている場合は失敗するようです。%1"c:\some path with spaces" IF NOT %1 GOTO MyLabel // This is invalid syntax IF "%1" == "" GOTO MyLabel // Works unless %1 has double quotes which fatally kills bat execution IF %1 == GOTO MyLabel // Gives an unexpected GOTO error. によるとこのサイトこれらはサポートされているIF構文タイプです。したがって、それを実行する方法がわかりません。 IF [NOT] ERRORLEVEL number command IF [NOT] string1==string2 command IF [NOT] EXIST filename command 更新: 2020-10-25 に、受け入れられた回答を括弧の使用からチルダの使用に更新しました。チルダの方が安全なので、より良いと誰もが言っています。チルダは見た目が複雑で、目的が明確ではないため、少し迷っていますが、それでも変更しました。

Admin

ファイルの2番目の列に基づいてデータを並べ替える 質問する
bash
shell
unix

ファイルの2番目の列に基づいてデータを並べ替える 質問する

n2 列と行数のファイルがあります。 column1 にnamesは column2 が含まれますage。 ageこのファイルの内容を(2 番目の列)に基づいて昇順で並べ替えたいと思います。 結果には、name最年少の人の とname、その次に 2 番目に年下の人の などが表示されます。 ワンライナーのシェルまたは bash スクリプトに関する提案はありますか。

Admin

コマンドライン引数をシェルエイリアスに渡すにはどうすればいいですか? [重複] 質問する
shell
alias

コマンドライン引数をシェルエイリアスに渡すにはどうすればいいですか? [重複] 質問する

この質問に対する回答は既にここにあります : パラメータを受け取る Bash エイリアスを作成しますか? (26件の回答) 3年前に 閉鎖されました 。 コミュニティは2 年前にこの質問を再開するかどうかを検討し、質問を閉じたままにしました。 元のクローズ理由は解決されませんでした コマンドライン引数をエイリアスに渡すにはどうすればよいですか? 次に例を示します。 エイリアス mkcd='mkdir $1; cd $1;' しかし、この場合、$xx は実行時ではなく、エイリアスの作成時に変換されます。ただし、私は以下のようにシェル関数を使用して回避策を作成しました (少しグーグルで検索した後)。 関数 mkcd(){ mkdir $1 CD 1ドル } CL パラメータを受け入れるエイリアスを作成する方法があるかどうか知りたいだけです。 ちなみに、私はデフォルトのシェルとして「bash」を使用しています。

Admin

シェルスクリプトがパイプを介して実行されているかどうかを検出するにはどうすればいいですか? 質問する
bash
shell
pipe

シェルスクリプトがパイプを介して実行されているかどうかを検出するにはどうすればいいですか? 質問する

シェル スクリプト内から、標準出力が端末に送信されているか、別のプロセスにパイプされているかを検出するにはどうすればよいでしょうか。 具体例: 出力を色付けするためにエスケープ コードを追加したいのですが、これは対話的に実行する場合のみで、パイプする場合は追加しませんls --color。

Admin

Bash 条件文: 式を「and」で結ぶ方法は? (if [ ! -z $VAR && -e $VAR ]) 質問する
bash
shell

Bash 条件文: 式を「and」で結ぶ方法は? (if [ ! -z $VAR && -e $VAR ]) 質問する

「and」テストのやり方がよくわからないようです。 でうまく機能する引数が存在することを確認したかったのです[ -e $VAR ]が、 も空の文字列で true として評価されることがわかりました。これは望ましくありません。 これらを「and」で結合するにはどうすればよいでしょうか? あるいは、私が望むことを実現する別の単項テストがあるのでしょうか?

Admin

再帰なしで検索する 質問する
unix
find
shell

再帰なしで検索する 質問する

findサブディレクトリに再帰しないような方法でコマンドを使用することは可能ですか? たとえば、 DirsRoot |-->SubDir1 | |-OtherFile1 |-->SubDir2 | |-OtherFile2 |-File1 |-File2 そして、次のような結果find DirsRoot --do-not-recurse -type fになるでしょうかFile1, File2?

Admin

サブプロセスコマンドからのライブ出力 質問する
python
shell
logging
error-handling
subprocess

サブプロセスコマンドからのライブ出力 質問する

私は、流体力学コードのドライバーとして Python スクリプトを使用しています。シミュレーションを実行するときは、subprocess.Popenコードを実行し、出力を--- から収集してstdout---に取り込み、出力情報を印刷 (およびログ ファイルに保存) して、エラーがないか確認します。問題は、コードがどのように進行しているかがまったくわからないことです。コマンド ラインから直接実行すると、どの反復段階であるか、何時か、次のタイム ステップは何かなどの出力が得られます。stderrsubprocess.PIPE 出力を保存し(ログ記録とエラーチェック用)、ライブストリーミング出力も生成する方法はありますか? 私のコードの関連セクション: ret_val = subprocess.Popen( run_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True ) output, errors = ret_val.communicate() log_file.write(output) print output if( ret_val.returncode ): print "RUN failed\n\n%s\n\n" % (errors) success = False if( errors ): log_file.write("\n\n%s\n\n" % errors) もともと私は、コピーが直接ログファイルに送信され、ストリームが直接端末に出力されるようにパイプしていましたrun_commandがtee、その方法ではエラーを保存できません (私の知る限り)。 これまでの私の一時的な解決策: ret_val = subprocess.Popen( run_command, stdout=log_file, stderr=subprocess.PIPE, shell=True ) while not ret_val.poll(): log_file.flush() 次に、別のターミナルでtail -f log.txt(st log_file = 'log.txt') を実行します。

Admin