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

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

5
複数行のシェル変数を指定する方法は?
私はクエリを書きました: function print_ui_hosts { local sql = "select ........." print_sql "$ sql" } ローカルSQL-非常に長い文字列。クエリはフォーマットされていません。文字列を複数の行に分割するにはどうすればよいですか?
122 bash  shell 


5
bashスクリプトを実行しているdockerエントリポイントが「許可が拒否されました」
私のnode.jsアプリをドッキングしようとしています。コンテナーが構築されたら、コンテナーを実行してからgit cloneノードサーバーを起動します。したがって、これらの操作を.shスクリプトに入れました。そして、ENTRYPOINTで単一のコマンドとしてスクリプトを実行します。 FROM ubuntu:14.04 RUN apt-get update && apt-get install -y build-essential libssl-dev gcc curl npm git #install gcc 4.9 RUN apt-get install -y software-properties-common python-software-properties RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test RUN apt-get update RUN apt-get install -y libstdc++-4.9-dev #install newst nodejs RUN curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - …
122 bash  shell  docker 

20
bashループリストで空白をエスケープするにはどうすればよいですか?
特定のディレクトリのすべての子ディレクトリ(ファイルではない)をループするbashシェルスクリプトがあります。問題は、一部のディレクトリ名にスペースが含まれていることです。 これが私のテストディレクトリの内容です。 $ls -F test Baltimore/ Cherry Hill/ Edison/ New York City/ Philadelphia/ cities.txt そして、ディレクトリをループするコード: for f in `find test/* -type d`; do echo $f done 出力は次のとおりです。 テスト/ボルチモア テスト/チェリー 丘 テスト/エジソン テスト/新規 ヨーク 市 テスト/フィラデルフィア Cherry HillとNew York Cityは、2つまたは3つの別々のエントリとして扱われます。 私は次のようにファイル名を引用しようとしました: for f in `find test/* -type d | sed -e …
121 bash  loops  whitespace 

8
Linuxスクリプトのターミナルでユーザー入力を非表示にする
次のようなbashスクリプトがあります。 #!/bin/bash echo "Please enter your username"; read username; echo "Please enter your password"; read password; ユーザーが端末でパスワードを入力するときに表示されないようにする(または*******のようなものを表示する)必要があります。どうすればこれを達成できますか?
121 linux  bash  scripting 

14
シェルでファイルサイズ(バイト単位)を取得するポータブルな方法?
Linuxではを使用しstat --format="%s" FILEていますが、アクセスできるSolarisにはstatコマンドがありません。次に何を使うべきですか? 私はBashスクリプトを書いていて、システムに新しいソフトウェアを実際にインストールできません。 私はすでに使用を検討しました: perl -e '@x=stat(shift);print $x[7]' FILE あるいは: ls -nl FILE | awk '{print $5}' しかし、これらはどちらも賢明に見えません-ファイルサイズを取得するためだけにPerlを実行していますか?または、2つのコマンドを実行して同じことをしますか?
121 linux  bash  shell  solaris 

5
bashシェルスクリプトにファイルを含める方法
シェルスクリプトに別のシェルスクリプトを含めて、その機能にアクセスできるようにする方法はありますか? PHPでの方法のincludeように、他のPHPファイルでディレクティブを使用して、関数名を呼び出すだけで、そこに含まれる関数を実行できます。
121 linux  bash  include 


11
EC2の場合:sudo nodeコマンドが見つかりませんが、sudoのないノードは問題ありません
新しいEC2マイクロインスタンスにnodejsをインストールしました。 私はそれを普通にインストールしました、。/ configure-> make-> sudo make install。 問題: ec2-userの下で「node」を実行すると、完全に実行されます。「sudoノード」を実行すると失敗します。 ノードが次の場所にあることがわかりました: [ec2-user@XXXX ~]$ whereis node node: /usr/local/bin/node /usr/local/lib/node 現在のパスは [ec2-user@XXXX ~]$ echo $PATH /usr/local/bin:/bin:/usr/bin:/opt/aws/bin:/home/ec2-user/bin しかし、sudoパスは [root@ip-10-112-222-32 ~]# echo $PATH /usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin:/root/bin 次に、ルートPATHを編集してノードへのパスを含めようとしたので、ルートとしてログインすると「ノード」が実行されますが、ec2-userとしてログインして「sudoノード」を実行しても機能しません。 npmのproperflyをインストールするには、これが必要です。「sudoノード」の実行中にノードパスを含める方法に関するアイデアはありますか?
120 node.js  bash  amazon-ec2  sudo 

5
Linux bash:複数の変数の割り当て
Linuxのbashには、PHPの次のコードに似たものが存在しますか。 list($var1, $var2, $var3) = function_that_returns_a_three_element_array() ; つまり、1つの文で3つの異なる変数に対応する値を割り当てます。 myBashFuntion文字列「qwert asdfg zxcvb」をstdoutに書き込むbash関数があるとします。次のようなことは可能ですか? (var1 var2 var3) = ( `myBashFuntion param1 param2` ) もちろん、等号の左側の部分は有効な構文ではありません。私が求めていることを説明しようとしているだけです。 ただし、機能するのは次のとおりです。 array = ( `myBashFuntion param1 param2` ) echo ${array[0]} ${array[1]} ${array[2]} ただし、インデックス付き配列は、単純な変数名ほど説明的ではありません。 しかし、私はただ行うことができました: var1 = ${array[0]} ; var2 = ${array[1]} ; var3 = ${array[2]} しかし、これらは、私が避けたい3つのステートメントです。 ショートカット構文を探しています。出来ますか?

5
makefileの複数行bashコマンド
数行のbashコマンドを使用してプロジェクトをコンパイルする非常に快適な方法があります。しかし、今私はそれをmakefileでコンパイルする必要があります。すべてのコマンドが独自のシェルで実行されることを考えると、私の質問は、メイクファイルで互いに依存している複数行のbashコマンドを実行する最良の方法は何ですか? たとえば、次のように: for i in `find` do all="$all $i" done gcc $all また、誰かが単一行のコマンドでさえbash -c 'a=3; echo $a > file'ターミナルで正しく機能する理由を説明できますが、メイクファイルの場合は空のファイルを作成しますか?
120 bash  makefile 

5
bash / cut / splitを使用して文字列の一部を抽出する
私はこのような文字列を持っています: /var/cpanel/users/joebloggs:DNS9=domain.com joebloggsこの文字列からユーザー名()を抽出して変数に格納する必要があります。 文字列の形式は、常にの例外と同じになりますjoebloggsとdomain.com、私は、文字列を使用して二回に分割することができます考えていますので、cut? 最初の分割は分割され:、最初の部分を変数に格納して、2番目の分割関数に渡します。 2番目の分割は/、最後の単語(joebloggs)を分割して変数に格納します 配列とスプリットを使用してphpでこれを行う方法を知っていますが、bashで少し迷っています。
120 string  bash 

4
Bashスクリプトが終了する前にコマンドを実行する方法は?
Bashスクリプトにがありset -e、スクリプト内のコマンドがエラーを返す場合、スクリプトが終了する前にクリーンアップを行うにはどうすればよいですか? 例えば: #!/bin/bash set -e mkdir /tmp/foo # ... do stuff ... rm -r /tmp/foo /tmp/fooのコマンドの1つが... do stuff ...失敗した場合でも、それを確実に削除するにはどうすればよいですか?
119 bash 


3
makeのDESTDIRおよびPREFIX
ソフトウェアを特定のディレクトリにインストールしようとしています。私はいくつかの方法を見つけましたが、それらの違いは何かわかりません。 ./configure --prefix=*** make install DESTDIR=*** make install prefix=*** 私はこれら3つの機能について混乱しています。彼らは同じ目標を達成していますか?
118 c  linux  bash  makefile  configure 

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