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

BashはBourne Again SHellであり、古典的なUnix sh(シェル)の後継です。

7
Synology NASで/ bin / bashシェルを使用しているアカウントにSSH経由でログインできない
組み込みデバイス(Synology DS212 + NAS)で実行されているARM Linuxにデフォルトのシェルとしてbashをインストールしようとしています。しかし、本当に間違っていることがあり、それが何なのかわかりません。 症状: 1)ルートにはデフォルトのシェルとして/ bin / bashがあり、SSH経由で通常どおりログインできます。 $ grep root /etc/passwd root:x:0:0:root:/root:/bin/bash $ ssh root@NAS root@NAS's password: Last login: Sun Dec 16 14:06:56 2012 from desktop # 2)joeuserにはデフォルトのシェルとして/ bin / bashがあり、SSH経由でログインしようとすると「Permission denied」を受け取ります。 $ grep joeuser /etc/passwd joeuser:x:1029:100:Joe User:/home/joeuser:/bin/bash $ ssh joeuser@localhost joeuser@NAS's password: Last login: Sun Dec …
30 linux  ssh  bash  synology 

6
bashで文字列を「big ascii text art」として出力するコマンドは何ですか?[閉まっている]
私は、ASCII文字列を以下の「asciiアート」のようなものに変えるプログラムを探しています。 .- "^` \ / `^"-。 。 ' ___ \ / ___ `。 / /.---。.---。\ \ | // '-。___________________________ .- '\\ | | ; | \ / -------------------------- // |; | \ || | \ _)Red Hat(_ / | || / \ | \ \; | エンタープライズLinux || ; /。/ …
30 bash  scripting  ascii 

6
SSHに特定のシェルを使用させる
ユーザーのデフォルトのシェルが何であるかに関係なく、リモートエンドで特定のシェルを使用するようにSSHを強制する方法はありますか? 私は次のようなソリューションを試しました: ssh host.domain.com /bin/bash -c 'complicated, multi-line command' 残念ながら、リモートエンドのデフォルトシェルは「複雑な複数行コマンド」部分の解析を担当し、BashとCシェルユーザーの両方で機能するように十分にエスケープすることが困難です。


6
バックグラウンドプロセスを起動してログアウトした場合、実行は継続されますか?
同僚との長期にわたる議論の後にこれを尋ねて、私はここで明確化が本当に欲しいです。 &コマンドラインに「」を追加するか、「」CTRL-Zでバックグラウンドで停止して再開することにより、バックグラウンドプロセスを起動しますbg。その後、ログアウトします。 何が起こるのですか? これはSIGHUPによって殺されるはずだったと確信していましたが、これは起こりませんでした。再度ログインすると、プロセスは問題なく実行され、pstree「採用」されたことが示されましたinit。 これは予想される動作ですか? しかし、そうであれば、nohupコマンドの目的は何ですか?とにかく、プロセスは強制終了されないようです。 編集1 いくつかの詳細: コマンドは、物理コンソールからではなく、SSHセッションから起動されました。 コマンドが開始されたことなく、 nohupおよび/または&; その後、で中断CTRL-Zされ、でバックグラウンドで再開されましたbg。 sshセッションはドロップしませんでした。実際のログアウト( " exit"コマンド)がありました。 プロセスはscpファイルのコピー操作でした。 再度ログインすると、pstreeプロセスが実行され、の子であることを示しましたinit。 編集2 質問をより明確に述べると、プロセスをバックグラウンドで(&またはを使用してbg)配置するとSIGHUP、nohupコマンドのように無視されますか? 編集3 を手動で送信しようとSIGHUPしましたscp:終了したので、シグナルを無視しません。 その後、もう一度起動してバックグラウンドにinit戻し、ログオフしました。「採用」されて実行され続け、再度ログオンするとそこに見つかりました。 今私はかなり困惑しています。SIGHUPログオフ時に送信されなかったようです。

8
findコマンドの出力からパスを削除する
ベータ環境から本番環境にコードを展開するためのbashスクリプトがありますが、現在はファイルのリストを手動でtxtファイルに追加する必要があり、いつかは見逃します。基本的に、私の展開スクリプトはファイルをコピーするcat / loopsです。(dbもエクスポート/インポートしますが、関係ありません..lol) とにかく、このfindコマンドを使用して、過去14日間に変更されたファイルのリストを生成したいと思います。問題は./、展開スクリプトが機能するためにパスを取り除く必要があることです。 findコマンドの使用例は次のとおりです。 見つける。-type f -mtime -14> deploy.txt これがdeploy.txt、私の展開スクリプトに含まれる行です。 for i in `cat deploy.txt`; do cp -i /home/user/beta/public_html/$i /home/user/public_html/$i; done bashスクリプトを使用してこれを達成する方法はありますか? ありがとう!
29 bash  find 

8
bashスクリプトの複数選択メニュー
私は初心者ですが、ユーザーがオプションのリストから複数のオプションを選択できるようにしたいスクリプトを作成したいと思います。 基本的に私が望むのは、次の例に似たものです。 #!/bin/bash OPTIONS="Hello Quit" select opt in $OPTIONS; do if [ "$opt" = "Quit" ]; then echo done exit elif [ "$opt" = "Hello" ]; then echo Hello World else clear echo bad option fi done (http://www.faqs.org/docs/Linux-HOWTO/Bash-Prog-Intro-HOWTO.html#ss9.1から入手) ただし、私のスクリプトにはさらにオプションがあり、複数の選択を許可したいと思います。だからこのようなもの: 1)オプション1 2)オプション2 3)オプション3 4)オプション4 5)完了 彼らが選択したものについてのフィードバックを持つことも素晴らしいでしょう。例えば、既に選択したものの隣にプラス記号が付いています。たとえば、「1」を選択した場合、ページをクリアして再印刷します: 1) Option 1 + 2) …
28 bash  scripting 



4
/ bin / dashとは何ですか?
私/bin/shが選んだシェルへのシンボリックリンクだと思いました。私はいつも使ってきたのでbash、それ/bin/shはを指すと思いました/bin/bash。しかし、それが指すことは判明してい/bin/dashます。 面白くなります。開始dashして実行するecho $SHELLと印刷されます/bin/bash(基本的に同じですか?)。ただし、のmanページはのmanページとdashはまったく異なりますbash(同じではありませんか?)。
27 linux  bash  shell 

12
CRONからAWS CLIを実行できません(認証情報)
単純なAWS CLIバックアップスクリプトを実行しようとしています。インクルードファイルの行をループし、それらのパスをS3までバックアップし、出力をログファイルにダンプします。このコマンドを直接実行すると、エラーなしで実行されます。CRONで実行すると、出力ログに「資格情報が見つかりません」というエラーが表示されます。 シェルスクリプト: AWS_CONFIG_FILE="~/.aws/config" while read p; do /usr/local/bin/aws s3 cp $p s3://PATH/TO/BUCKET --recursive >> /PATH/TO/LOG 2>&1 done </PATH/TO/INCLUDE/include.txt エラーが表示されるようになった後、設定ファイルに行を追加したのは、これで修正できるかもしれないと思ったからです(AWSがデフォルトでどこに見えるかは確かですが)。 シェルスクリプトがルートとして実行されています。指定した場所でAWS構成ファイルを確認できます。そして、それはすべて私には良さそうです(私が言ったように、それはCRONの外でうまく動きます)。

3
ファイルが正常に転送されるまでrsyncを繰り返し呼び出す方法
信頼できないリモートサーバーからのファイルを同期しようとしています。つまり、接続が「ランダムに」失敗する傾向があります。 rsync:接続が予期せず閉じられました Rsyncは--partialで呼び出されるため、ファイルが完全に転送されるまでループでrsyncを呼び出すことができます。rsyncに再試行を指示するフラグはないようです。 スクリプトを作成する最良の方法は何でしょうか?ループのbash?
27 linux  bash  rsync 

6
エラー時にxargsが終了しないようにする
manページによると、実行行の1つが255のエラーで終了した場合、xargsは終了します。 コマンドの呼び出しがステータス255で終了した場合、xargsはそれ以上入力を読み込まずにすぐに停止します。これが発生すると、stderrでエラーメッセージが発行されます。 これを行わないようにxargsを取得するにはどうすればよいですか? 一度に50行ずつ、実行する1500行程度のバッチジョブがあります。私はそれが常に特定のラインで死にかけていることを発見し、仕事を完了していませんでした。良くない! さらに良い質問、私がやろうとしていることを説明する質問は次のとおりです。 途中でジョブを終了せず、出力が何らかのログファイルにキャプチャされるように、一度に50行ずつ1500行のバッチスクリプトを実行するにはどうすればよいですか?

4
BASHスクリプト、単一コマンドのwww-dataへのsu
私が書いたこのブログ投稿で説明されているように、私は Subversionリポジトリと関連するWebサイトの作成の自動化に取り組んでいます。私はwww-dataユーザーにsuして次のコマンドを実行する部分で問題に直面しています。 svnadmin create /svn/repository スクリプトの先頭には、rootまたはsudoとして実行されていることを確認するチェックがあり、それ以降のすべてのコマンドはrootとして実行する必要があります。その1つのコマンドをwww-dataとして実行してから、rootに戻って終了する良い方法はありますか?
26 ubuntu  bash  svn  su 

7
Bashスクリプト:ルートとして(またはsudoで)スクリプトを実行する必要があります
tarを使用してディレクトリをバックアップするbashスクリプト(Ubuntuで)を作成しようとしています。 スクリプトをrootとして(またはsudoでのみ)実行できるようにチェックするにはどうすればよいですか? たとえば、ユーザーがスクリプトを実行する場合、このスクリプトはsudo特権で実行する必要があると言ってから終了する必要があります。スクリプトがルートとして実行される場合、チェックを過ぎて続行します。 簡単な解決策がなければならないことは知っていますが、グーグルで見つけることができませんでした。

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