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

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

17
スクリプトが供給されているかどうかを検出する方法
exitソースが提供されている場合に呼び出されないようにするスクリプトがあります。 $0 == bashスクリプトを別のスクリプトから取得した場合、またはユーザーがのような別のシェルから取得した場合に問題があるかどうかを確認することを考えましたksh。 スクリプトが供給されているかどうかを検出する信頼できる方法はありますか?
217 bash  ksh 


2
Linuxのコマンドラインから一連の画像をPDFに変換するにはどうすればよいですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? Stack Overflowのトピックとなるように質問を更新します。 8年前に閉鎖。 この質問を改善する 私はcgi / bashで作成したスキャンサーバーがあり、コマンドラインから一連の画像(すべて1つのフォルダー内)をPDFに変換できるようにしたいと考えています。どうすればできますか?
215 image  bash  pdf 

12
OSXにHomebrewをインストールする方法は?
OSXにHomebrewをインストールしようとしています。 Homebrewサイトによると、私は入力する必要があります brew install wget そして私が得るすべては -bash: brew: command not found StackOverflowを検索したところ、この答えが見つかりました。ただし、問題はに表示さbrewれないことです/usr/local/bin。 そのため、次の行も.bashrcファイルに追加しました export PATH=/usr/local/bin:$PATH しかし、まだcommand not foundエラーが発生します。 HomebrewをOS Xにインストールするにはどうすればよいですか?
213 macos  bash  install  homebrew 

15
ファイルの先頭にテキストを挿入する方法は?
これまでのところ、ファイルの先頭に行を追加する方法を見つけることができましたが、それはまさに私が望んでいることではありません。例で示します ファイル内容 some text at the beginning 結果 <added text> some text at the beginning それは似ていますが、それで新しい行を作成したくありません... sedできればこれでやりたいです。
213 linux  bash  sed 

7
Docker Postgresのスクリプトでユーザー/データベースを作成する方法
カスタムユーザーとデータベースを作成して、開発postgresインスタンスのコンテナを設定しようとしています。私は公式のpostgres dockerイメージを使用しています。ドキュメントでは、/docker-entrypoint-initdb.d/カスタムパラメータを使用してデータベースを設定するために、フォルダ内にbashスクリプトを挿入するように指示しています。 私のbashスクリプト:make_db.sh su postgres -c "createuser -w -d -r -s docker" su postgres -c "createdb -O docker docker" Dockerfile FROM library/postgres RUN ["mkdir", "/docker-entrypoint-initdb.d"] ADD make_db.sh /docker-entrypoint-initdb.d/ docker logs -f db(dbは私のコンテナ名です)で発生するエラーは次のとおりです。 createuser:データベースに接続できませんでしたpostgres:サーバーに接続できませんでした:そのようなファイルまたはディレクトリはありません /docker-entrypoint-initdb.d/フォルダー内のコマンドはpostgresが起動する前に実行されているようです。私の質問は、公式のpostgresコンテナを使用してプログラムでユーザー/データベースを設定するにはどうすればよいですか?スクリプトでこれを行う方法はありますか?

6
#!/ usr / bin / env bashが#!/ bin / bashよりも優れているのはなぜですか?
このサイトの推奨事項(推奨されるBashシバンは何ですか?)を含め、いくつかの場所で、#!/usr/bin/env bashに優先して使用するのを見てきました#!/bin/bash。私は、1人の進取的な個人が使用#!/bin/bashが間違っていて、そうすることによってbash機能が失われることを示唆するのを見たことさえあります。 そうは言っても、私は厳しく管理されたテスト環境でbashを使用します。この環境では、循環しているすべてのドライブが基本的に単一のマスタードライブのクローンです。私の場合は必ずしも適用可能ではありませんが、私は移植性の議論を理解しています。他のものよりも好む他の理由はありますか#!/usr/bin/env bash、そして、移植性が懸念であると仮定して、それを使用することは機能性を壊すことができる理由がありますか?
212 bash  shebang 

4
ファイルの2番目の列に基づいてデータをソートする
2列とn行数のファイルがあります。 列1にはnamescolumn2 が含まれますage。 このファイルのコンテンツをage(第2列の)に基づいて昇順で並べ替えます。 結果はname、最年少の人と一緒にname、次に2番目に若い人などを表示します... ワンライナーシェルまたはbashスクリプトの提案。
212 bash  shell  unix 

10
Bash関数からブール値を返す
ファイルに特定のプロパティがあり、trueまたはfalseを返すかどうかをチェックするbash関数を記述したいと思います。その後、「if」のスクリプトで使用できます。しかし、私は何を返すべきですか? function myfun(){ ... return 0; else return 1; fi;} それから私はこのようにそれを使います: if myfun filename.txt; then ... もちろん、これは機能しません。どうすればこれを達成できますか?
211 bash  shell  boolean 

5
if [](角括弧)からの「[:多すぎる引数」エラーの意味
次のBASHシェルエラーの意味を説明し、修正する単純な簡単なリソースが見つからなかったため、調査した結果を投稿します。 エラー: -bash: [: too many arguments Googleと相性の良いバージョン: bash open square bracket colon too many arguments。 コンテキスト:等しい、より大きいなどの単純な比較演算子を使用した、単一の角括弧内のif条件。次に例を示します。 VARIABLE=$(/some/command); if [ $VARIABLE == 0 ]; then # some action fi


22
gnu cpコマンドを使用してファイルを複数のディレクトリにコピーする方法
cpコマンドを使用して単一のファイルを複数のディレクトリにコピーすることは可能ですか? 私は次のことを試しましたが、うまくいきませんでした: cp file1 /foo/ /bar/ cp file1 {/foo/,/bar} forループやfindを使用することは可能です。しかし、gnu cpコマンドを使用することは可能ですか?
210 linux  bash  shell 

13
STDOUTのn番目の行を取得するコマンド
STDOUTのn行目を取得できるbashコマンドはありますか? つまり、これを取るようなもの $ ls -l -rw-r--r--@ 1 root wheel my.txt -rw-r--r--@ 1 root wheel files.txt -rw-r--r--@ 1 root wheel here.txt そして、次のようなことをする $ ls -l | magic-command 2 -rw-r--r--@ 1 root wheel files.txt これは、再利用することを意図したスクリプトを作成する場合は悪い習慣になると思いますが、シェルを日常的に使用する場合は、そのような方法でSTDOUTをフィルタリングできると便利です。 また、これは書くのが簡単なコマンド(バッファーSTDOUT、特定の行を返す)であることも理解していますが、スクリプトを配置しなくても使用できる標準のシェルコマンドがあるかどうかを知りたいです。
210 bash  shell  sed  stdout 

9
bashのエイリアスにある複数のコマンド
次の2つのコマンドを連続して実行するエイリアスを定義したいと思います。 gnome-screensaver gnome-screensaver-command --lock 今私は追加しました alias lock='gnome-screensaver-command --lock' 私の.bashrcに追加しますが、ワークステーションをロックするので、コマンドを1つ入力するだけの方が簡単です。

6
MakefileターゲットでBash構文を使用するにはどうすればよいですか?
Bashの構文は非常に役立つことがよくあります。たとえば、のようなプロセス置換diff <(sort file1) <(sort file2)です。 MakefileでそのようなBashコマンドを使用することは可能ですか?私はこのようなことを考えています: file-differences: diff <(sort file1) <(sort file2) > $@ 私のGNU Make 3.80 shellではbash、コマンドを実行する代わりにを使用するため、エラーが発生します。
208 bash  shell  makefile 

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