最新記事

$()から返された文字列を他のコマンドの複数の引数として使用するにはどうすればよいですか?
bash
string
command-substitution

$()から返された文字列を他のコマンドの複数の引数として使用するにはどうすればよいですか?

マイユースケース: composer.jsonファイルにリストされているすべての開発パッケージを削除する必要があります。projectx/package-niceという2つのパッケージがあるとしましょうprojecty/package-good。削除するには、以下を実行する必要があります。 $ composer remove --dev projectx/package-nice projecty/package-good そのため、パッケージリストを抽出するために次のコマンドを作成します。 echo $(composer show -s | grep -E "^[a-z]+/[0-9a-z_-]+" | awk '{print $1}' | xargs) これにより、次のようにパッケージのリストが返されます。projectx/package-nice projecty/package-good そのため、bashは戻り値を引用符で囲んだ単一の文字列として解釈するため、成功しないまま次のコマンドを実行してみました。 $ composer remove --dev $(composer show -s | grep -E "^[a-z]+/[0-9a-z_-]+" | awk '{print $1}' | xargs) これは次のとおりです。 $ composer remove --dev "projectx/package-nice projecty/package-good" それでは、私が何を間違っているのでしょうか? 編集する: 問題は解析にはありません。$()スペースで区切られた予想値を返します。問題は、bashがこの戻り値を一意の値として解釈する理由です。 @MarcusMüllerが指摘したように、この問題は発生しないでください。私は走っています/etc: $ ls $(ls | head -n 2) そして、実行されたコマンドはls file1 file2代わりなので、ls "file1 file2"なぜこれが起こるのか理解できません。おそらく作曲家はPHPで実行されるスクリプトであり、これが何かを邪魔しているからでしょうか? ありがとうございます。

Admin

このコマンドはクラスの一部として理解できません。
bash

このコマンドはクラスの一部として理解できません。

閉鎖。この質問には詳細または明確性。現時点では回答は許可されていません。 この質問を改善したいですか?詳細を追加して質問を明確にしてください。この記事を編集してください。 閉鎖2年前。 この問題を改善する for f in ${FILES}; do ((COUNT++)) ln=$(wc -l ${f} | cut -f 1 -d ' ') echo "File number ${COUNT} (${f}) has ${ln} lines" done

Admin

BashスクリプトのLinux showkeyユーティリティはデータを返しません。
linux
bash
scripting

BashスクリプトのLinux showkeyユーティリティはデータを返しません。

シェルでこのshowkey -aコマンドを実行すると、コマンドが実行され、リアルタイムで対話できることが少し混乱します。 下記をご覧ください timeout 10 /usr/bin/showkey -a Press any keys - Ctrl-D will terminate this program t 116 0164 0x74 a 97 0141 0x61 s 115 0163 0x73 d 100 0144 0x64 f 102 0146 0x66 g 103 0147 0x67 j 106 0152 0x6a f 102 0146 0x66 k 107 0153 0x6b l 108 0154 0x6c d 100 0144 0x64 このコマンドをシェルスクリプトに追加すると、出力は表示されません。つまり、スクリプトまたはスクリプト内で実行されるコマンドと対話することはできません。 これは私のbashスクリプトです。 #!/bin/bash timeout 10 /usr/bin/showkey -a exit 0 このスクリプトを実行すると、10秒待ってからシェルが終了します。押したキー、コードを表示してユーザーと対話するにはどうすればよいですか? 私がこれをしたいのは、キーボードテストを実行する前にスクリプトが多くの作業を実行する必要があり、キーボードテスト後にスクリプトが実行する必要があるさまざまなタスクがあるためです。どこでも答えが見つからないので、最後の手段としてここに質問を残します。誰かが助けることができることを願っています。

Admin

ViM コマンドを実行する Bash スクリプトが
bash
vim
here-document

ViM コマンドを実行する Bash スクリプトが "$" コマンドを解釈していないようです。

特定のViMコマンドをLinux Bashスクリプトに移動しようとしています。 ViMのコマンドは次のとおりです。 :g/^SOMEWORD$/d 特定の単語だけを含め、他の単語は含まれていない行を削除してください。 bashスクリプトに移動したとき、もう機能しませんでした。 vim -e -s /tmp/file.txt << EOF :g/^SOMEWORD$/d :update :quit EOF エスケープ処理は$あまり差がないようです。$この場合に使用できる他の方法はありますか?それとも他のものがありませんか? vim -e -s /tmp/file.txt << EOF :g/^SOMEWORD\$/d :update :quit EOF

Admin

毎日、毎週、毎月コンピュータの使用量を追跡しますか?
linux
bash
shell-script
fedora
daemon

毎日、毎週、毎月コンピュータの使用量を追跡しますか?

私はバックグラウンドで実行され、コンピュータの使用量(時間単位)を追跡し、毎日、毎週、毎月の時間範囲に関する簡単なレポートを提供する簡単なプログラムを探しています。私の環境: Fedoraデスクトップ Xfce環境 私が正確に何をしたかを追跡する必要はありません。通常の稼働時間を追跡するだけで十分です。 ただし、コーディング、スクリプト、または複雑なコマンドは必要ないため、レポートの抽出は非常に簡単にする必要があります。

Admin

netcatで1行聞く[閉じる]
bash
shell

netcatで1行聞く[閉じる]

閉鎖。質問は〜です。無関係。現時点では回答は許可されていません。 問題の説明再現できない問題自然に消えているように見える(またはスペルエラーが修正された後に消える)記事は、将来の読者には役に立たない可能性が高いため、トピックから抜け出した記事です。 閉鎖4年前。 この問題を改善する ターミナルシェルには次のライナーがあります。 while true; do echo foo | nc -l 3000 done; ポート3000で引き続きリッスンしたいです。しかし、構文的にbashが機能するには改行文字が必要なようですか? while true; do echo foo | nc -l 3000 done; 一行にする方法はありますか?ここで何が起こっているのでしょうか?

Admin

作成時間に基づいて数値順を使用して、ディレクトリ内のすべてのファイル名を変更します。
bash
files
rename
mv

作成時間に基づいて数値順を使用して、ディレクトリ内のすべてのファイル名を変更します。

~/folder/ contain (最新のファイルから最も古いファイルまで) と同じディレクトリにあるすべてのファイルの名前を変更しようとしています: apple.foo, Pie.foo, cookie.foo, melon.foo 固定プレフィックスと数字001を使用して名前を変更します。最も古い999に増加 melon.foo >> object001.foo Cookie.foo >> object002.foo パイ.foo >> object003.foo apple.foo >> object004.foo 誰でもこれを達成する方法を知っていますか?

Admin

for(( ... )){ ... ;} 有効なシェル構文はありますか?どの殻に?
bash
shell
zsh
ksh

for(( ... )){ ... ;} 有効なシェル構文はありますか?どの殻に?

表現: $ ksh -c 'for ((i=0;i<10;i++)){ echo $i;}' 0 1 2 3 4 うまくいきます。 置き換えられるマニュアルには、この構文の説明が見つかりません{...;}。; do ...; done マニュアルに注意事項がありますか?どのシェルで動作しますか?

Admin

メールを自動的に取得して特定の場所に抽出するbashスクリプトを作成する
bash
ubuntu
email

メールを自動的に取得して特定の場所に抽出するbashスクリプトを作成する

mutt私はbashスクリプトに最初に触れました、、、、などprocmailのようなプログラムに関する多数のマニュアルを読んでいますが、ripmimeまだこのスクリプトを使用する方法や、これらのプログラムを正しく使用する方法さえ知りません。 誰かがこの問題を解決するのに役立つことができれば良いでしょう。

Admin

Bashスクリプトは、他の変数に格納された値に基づいて変数を生成します。
bash
scripting

Bashスクリプトは、他の変数に格納された値に基づいて変数を生成します。

アドバイスを聞きたいです。 JSONファイルを返すIOTデバイスAPIを照会していますが、データの順序が常に順番に出力されるわけではありません。 bashを使用してjsonから値番号を正常に抽出し、連結して変数に保存しました。データをソートして保存するために、関連付けられた変数の値に基づいて変数を作成したいと思います。私はそれを使用していますジャックJSONと配列インデックスのクエリJSONでさまざまなオブジェクトをクエリし、$ idを生成します。 did=myvar$id echo $did myvar10 これが私が今詰まっている部分です。 $didに格納されている値で新しい変数を作成できるようにしたいです。 例えば、 もし私がエコ$didと入力してmyvar10を返すには、$ myvar10という新しい変数を作成する必要があります。 もし私がエコ$disを実行してmyvar8を返す場合は、$ myvar8という新しい変数を作成する必要があります。 誰かが私が正しい方向に動くのを助けることができますか? ティア

Admin