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

Bashコマンドシェル用に記述されたスクリプトに関する質問。エラー/構文エラーのあるシェルスクリプトについては、ここに投稿する前に、shellcheckプログラム(またはhttps://shellcheck.netのWeb shellcheckサーバー)で確認してください。Bashのインタラクティブな使用に関する質問は、スタックオーバーフローよりもスーパーユーザーで話題になる可能性が高くなります。

22
一重引用符で囲まれた文字列内で一重引用符をエスケープする方法
たとえば、次のaliasようなBashがあるとします。 alias rxvt='urxvt' これは正常に動作します。 しかしながら: alias rxvt='urxvt -fg '#111111' -bg '#111111'' は機能せず、どちらも機能しません。 alias rxvt='urxvt -fg \'#111111\' -bg \'#111111\'' では、引用符をエスケープしたら、どうやって文字列内の開始引用符と終了引用符を一致させるのでしょうか。 alias rxvt='urxvt -fg'\''#111111'\'' -bg '\''#111111'\'' あなたがそのようにそれらを連結することを許可されている場合、それは同じ文字列を表すでしょうが、それは珍しいようです。
1018 bash  syntax  quoting 


10
出力をファイルおよびstdoutにリダイレクトする方法
OverаOverэтотвопросестьответынаStack Overflowнарусском:Каксохранитьвыводлюбойкомандывфайлисрееерееерееерее bashでは、呼び出しfooにより、そのコマンドからの出力がstdoutに表示されます。 呼び出しfoo > outputは、そのコマンドからの出力を指定されたファイル(この場合は「出力」)にリダイレクトします。 ファイルへのリダイレクトを出力する方法はありますし、それが標準出力に表示がありますか?
989 linux  bash  file-io  io  stdout 

11
stdoutではなくstderrをパイプするにはどうすればよいですか?
stdoutand stderrに情報を書き込むプログラムがあり、stdoutを無視しgrepて、stderrに送信される内容を確認する必要があります。 もちろん、2つのステップで実行できます。 command > /dev/null 2> temp.file grep 'something' temp.file しかし、私はこれを一時ファイルなしでできるようにしたいと思います。賢い配管のコツはありますか?
982 bash  grep  stdout  pipe  stderr 

7
パラメータをBash関数に渡す
Bash関数でパラメーターを渡す方法を検索しようとしていますが、コマンドラインからパラメーターを渡す方法が常に表示されます。 スクリプト内でパラメーターを渡したいのですが。私は試した: myBackupFunction("..", "...", "xx") function myBackupFunction($directory, $options, $rootPassword) { ... } しかし、構文が正しくありません。パラメーターを関数に渡す方法は?

21
シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか?
次の構文を使用して、シェルスクリプトでブール変数を宣言しようとしました。 variable=$false variable=$true これは正しいです?また、その変数を更新したい場合、同じ構文を使用しますか?最後に、ブール変数を式として使用するための次の構文は正しいですか? if [ $variable ] if [ !$variable ]
980 bash  shell  scripting  boolean  sh 



27
Bashでlsを使用してディレクトリのみを一覧表示しますか?
このコマンドは、現在のパスにあるディレクトリを一覧表示します。 ls -d */ パターン*/は正確に何をしますか? そしてls -d /home/alice/Documents、そのパスのディレクトリのみを一覧表示するために、上記のコマンド(たとえば)で絶対パスをどのように指定できますか?
954 bash  directory  ls 

28
Bashスクリプトのクリップボードとの間のパイプ
Bashでクリップボードとの間でパイプ接続することはできますか? デバイスハンドルとのパイプ接続であれ、補助アプリケーションの使用であれ、何も見つかりません。 たとえば/dev/clip、デバイスがクリップボードにリンクしている場合、次のことができます。 cat /dev/clip # Dump the contents of the clipboard cat foo > /dev/clip # Dump the contents of "foo" into the clipboard
946 linux  bash  macos  clipboard 

30
Bash変数から空白を削除する方法は?
このコードを含むシェルスクリプトがあります。 var=`hg st -R "$path"` if [ -n "$var" ]; then echo $var fi ただし、条件付きコードは常に実行されます。 hg st少なくとも1つの改行文字が出力されるれます。 $var(PHPのようtrim()に空白を取り除く簡単な方法はありますか?)ますか? または この問題に対処する標準的な方法はありますか? sedまたはAWKを使用することもできますが、この問題にはよりエレガントな解決策があると思います。
922 string  bash  variables  trim 

13
実行時にシェルコマンドをエコーする方法
シェルスクリプトで、呼び出されたすべてのシェルコマンドをエコーし​​、変数名を展開するにはどうすればよいですか? たとえば、次の行があるとします。 ls $DIRNAME スクリプトでコマンドを実行して次を表示したい ls /full/path/to/some/dir 目的は、呼び出されたすべてのシェルコマンドとその引数のログを保存することです。そのようなログを生成するより良い方法はおそらくありますか?
912 bash  shell  sh  posix  trace 

8
Bashスクリプトの引数を反復処理する方法
シェル/ bashスクリプトを作成したい複雑なコマンドがあります。私はそれを$1簡単に書くことができます: foo $1 args -o $1.ext スクリプトに複数の入力名を渡せるようにしたいのですが。それを行う正しい方法は何ですか? そしてもちろん、スペースを含むファイル名も処理したいと思います。
900 bash  command-line 

24
Linux / Unixで$ PATHを永続的に設定する方法は?
私は自分のパスにディレクトリを追加しようとしています。そのため、ディレクトリは常にLinuxパスにあります。私はもう試した: export PATH=$PATH:/path/to/dir これは機能しますが、ターミナルを終了して新しいターミナルインスタンスを起動するたびに、このパスが失われ、exportコマンドを再度実行する必要があります。 これを永続的に設定するにはどうすればよいですか?
879 linux  bash  unix  path  zsh 

30
Unixツールを使用したJSONの解析
OverаэтотвопросестьответынаStack Overflowнарусском:JSONарсингJSONвshell 次のように、curlリクエストから返されたJSONを解析しようとしています: curl 'http://twitter.com/users/username.json' | sed -e 's/[{}]/''/g' | awk -v k="text" '{n=split($0,a,","); for (i=1; i<=n; i++) print a[i]}' 上記は、JSONをフィールドに分割します。次に例を示します。 % ... "geo_enabled":false "friends_count":245 "profile_text_color":"000000" "status":"in_reply_to_screen_name":null "source":"web" "truncated":false "text":"My status" "favorited":false % ... 特定のフィールド(で示される-v k=text)を印刷するにはどうすればよいですか?
879 json  bash  parsing 

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