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

Bashは、GNUプロジェクトのUnixライクなオペレーティングシステム用の無料のシェルです。

1
.inputrcのキー割り当てがPHPの職人の工夫で動かない
私は現在Windows 10上でGIT Bashを使用しています。 etc/.inputrc ファイル。これはすべてうまくいきます。 しかし私が働いているとき Laravel "php職人ティンカー"シェル キーバインドは機能しなくなりました。それが役立つかどうか私にはわかりませんが、それは心配です "Psy Shell v0.8.18(PHP 7.2.0 - cli) Justin Hilemanによる "誰もがこれを修正する方法を知っていますか?
bash 


1
newgrpの後に対話型シェルのままになりますか?
私のプロジェクトのほとんどで私のデフォルトのプライマリグループは正しいです。ただし、そのうちの1つでは、アクセス権の問題を回避するために、その環境に入る前に新しいプライマリグループを設定する必要があります。現在これは2段階のプロセスです。 $ newgrp specialgroup $ source specialenvironment これを1つのコマンドに減らしたいと思います。私にはこれができるはずです。 $ sg specialgroup -c "bash --login -c 'source specialenvironment'" これは、グループが 'specialgroup'に設定されているサブシェルを作成し、それからすぐにソースを作成する別のサブシェルを作成すると思います。 specialenvironment。しかし、そうではないので、私は明らかに間違っています。 私の問題を解決していない同様の質問: 1 - スクリプトの終了後にスクリプトを実行した後、そのグループに留まる方法 2- 実行中の問題newgrp-command-script これを解決する方法についての任意のアイデア?
linux  bash  shell 

0
iotopの列幅を広げる
現在私のシステムの動作のスナップショットを取得するためにiotopコマンドを使用しています。 sudo iotop -C 10 20 > iotop.txt ただし、出力ファイルでは、テキストは次のようになります。 2017 Oct 14 16:13:45, load: 1.41, disk_r: 12504 KB, disk_w: 1920 KB UID PID PPID CMD DEVICE MAJ MIN D BYTES 501 920 1 com.apple.toneli ?? 1 4 R 512 501 342 1 com.apple.geod ?? 1 4 W 4096 501 917 …


2
bashでリストされているがアクセスできないファイル
Ubuntu 12.04システムで次のような動作が起こりますか? 私は「ubuntu」ユーザーとしてマシンにSSHで接続しました。 ランニング ls -lah /data/* すべて「ubuntu」ユーザー/グループが所有し、完全な読み取り/書き込みアクセス権を持つ、空でないファイル(例:file1.txt、file2.txtなど)が何十個も表示されます。 私がしようとした場合 cat /data/file1.txt、bashは私にエラー "cat:/data/file1.txt:No such file or directory"を出します。 要するに、 ls はファイルのリストですが、それ以外の点ではファイルは本質的には存在しません。私はそれらを猫にすることも、いかなる方法でも読むことはできません。すべてのファイルに777権限を与えても何も変わりません。これは本当に奇妙です。何が起きてる?

2
Bashスクリプト:完了ステータスメッセージが表示されない
私は最初に取り組んでいます バッシュ 4つのVMをクラウドスタック環境にデプロイするスクリプト。含めたいのですが エコー スクリプトの最後に、デプロイされた仮想マシンの数を示すメッセージが表示されます。最後にこれを実現する方法はありますか?コマンドが実行されるたびに、cloudstackはエラーまたは成功のメッセージを表示します。最後の「エラー」または「ジョブID」メッセージをIFステートメントに組み込む方法はありますか エコー 私のスクリプトの? VMがデプロイされている場合、cloudstackは以下を返します。 deployvirtualmachineresponse: id: 4fe88c45-fc7c-4ac2-9554-c815e1ada3f6 jobid: 01f52a39-8e57-4968-af34-c4ee53f29e25 VMがエラーのために失敗した場合、つまり、同じVM名のcloudstackは以下を返します。 deployvirtualmachineresponse: uuidList: [] errorcode: 431 errortext: ! 'The vm with hostName HOSTNAME01 already exists in the network domain: cs1null; network=Ntwk[251|Guest|5]' APIのタイムアウトが原因でVMが失敗した場合、クラウドスタックは以下を返します。 Timeout connecting to https://cloud.datapipe.com/api/compute/v1 私の台本 #!/bin/bash HOSTNAME=HOSTNAME vm_deployed=0 vm_failed=0 for i in {1..1}; do if …
bash 

1
重複することなく2つのフォルダを安全に同期する方法
私はメガのアカウントを持っており、私は自分のコンピュータ上のフォルダとそれを同期させたいのです。問題は、このアカウントがある程度一般公開されているため、使用できないことです。 rsync と --delete 万が一誰かがすべてのファイルを削除した場合。 可能だと思いました rsync 何も削除せずにすべてのファイルを自分のコンピュータに移動してから、コマンドを使用して重複ファイル(別のディレクトリにファイルを移動したユーザーなど)を見つけます。 find -type f -exec md5sum '{}' ';' | sort | uniq --all-repeated=separate -w 33 | cut -c 35- そして最新版だけを保ってください。 しかし私が間違えていなければファイルの作成の時間はコピーの後に残されます。データは主に変更されない画像とpdfファイルで構成されているので、それは残念です。 コピーしたファイルを(のみ)に渡す方法はありますか touch 例えば、この問題を解決するためのもっと良い方法はありますか?
bash  sync  rsync 

1
複数のフォルダのコンテンツをバッチ圧縮する
私は7zまたはwinrar複数のフォルダのコンテンツのみしたい場合。どのようにまたはどのような最善の方法でしょうか? 例: D:\ PS1 PSX PSAプレイステーションUSAすべてのゲーム1の縮小[!!!!!!。COM] _アクションマン - オペレーションエクストリーム(アメリカ)\アクションマン - オペレーションエクストリーム(アメリカ).bin D:\ PS1 PSX再生アメリカ4すべてのゲーム1を縮小[!!!!!!。COM] _アクションマン - オペレーションエクストリーム(アメリカ)\アクションマン - オペレーションエクストリーム(アメリカ).cue Action Man - Operation Extreme(USA).7z(binとcueが含まれています)が欲しいのです。 マルチフォルダを完成させるためのバッチオプションはありますか? クリス

1
ファイルの検索方法、それらのファイルに関する標準的な情報の印刷方法、および各ファイル名の英字の文字数の印刷方法
私はこのようなものが欲しい: find "$dir" -type f -printf '%i:<alpha_char_count_of_base_filename>:%d:%p\n' それでは、最初にiノード番号、次にalpha_char_count_of_base_filenameの順に並べ替えます。私は解決策の一部を考え出したと思います。 私はこのコードでalpha_char_count_of_base_filenameを取得できることを知っています: basename "$filename" | tr -cd [:alpha:] | wc -m しかし、このようなことを試みても(笑わないで)うまくいきません。 find "$dir" -type f -printf '%i:$(basename -print | tr -cd [:alpha:] | wc -m):%d:%p\n' 私はたくさんのアイデアを試してみましたが、実用的な解決策を見つけたことはありません。これは私が試したもう一つのアイデアです: find "$dir" -type f -printf '%i:%d:%p\n' | awk 'BEGIN{FS=":";OFS=":";} {print $1,system("basename "$3" | tr -cd [:alpha:] …
linux  bash  shell  find 

1
ゼロ以外の値で終了しないようにしてください
私の本当の目標は、リモートサーバーにSSH接続してTomcatを再起動して使用するスクリプトをローカルで実行することです。 expect 「Server startup in」メッセージを待つか、起動に失敗したことがわかった場合はゼロ以外の値で終了します。私の試みはこのスクリプトです。私はデバッグにlocalhostを使用していますが、「起動に失敗しました」ではなくINFOを使用して人為的に終了させます。 ssh -T localhost <<SSH_EOF docker restart app expect <<EXPECT_EOF set timeout 30 spawn docker logs --since 1s -f app expect_before "INFO" { exit 1 } expect "Server startup in" EXPECT_EOF if [[ $? -eq 0]]; then echo "Success!" else echo "Failed!" fi SSH_EOF スクリプトは最初のINFOメッセージで終了しますが、Successと表示されます。なぜ1で終了しないのでしょうか。
linux  bash  ssh  expect 

0
XオプションでQSUBが1人のユーザーでハングする
私はPBSを使ってクラスター上のジョブを分散させています。通常、ノードでX11インタラクティブモードを起動することができます。 qsub -I -X -l select=1:vnode=gpunode1 しかし、それは新しいユーザーには機能しません。ただそこにぶら下がっています。 私は試した qstat 時間を見せる代わりに、 00:00:00、それはただ示す 0 新しいユーザーの場合、どうすればこの問題を解決できますか?

3
CentOS - この状況でlnコマンドを使用する方法?
CentOSのログファイルのようなファイルを作成します。このログファイルが更新されると、ログファイルのコピーも更新されます。たぶん私はこのコマンドを使用します: ln -s logfile copy_of_logfile ログファイルの内容が追加されると、copy_of_logfileの内容も追加されます。それは問題ありませんが、logfileの内容が削除されると、copy_of_logfileの内容も削除されます。 logfileの内容が追加されたとき、それからcopy_of_logfileの内容も追加され、logfileの内容が削除されたときに、copy_of_logfileの内容が削除されないようにします。その方法を教えてください。

1
sedまたは他のコマンドの入力ファイルとしてのconsoleコマンドの結果
いくつかのコマンドは入力としてファイルを取りますが、コマンドの結果をファイルとして扱う方法はありますか? たとえば、2つの文字列の間の文字列を取得します。 sed -n "/START-WORD-HERE/,/END-WORD-HERE/p" input しかし、私は入力としてたくさんのテキストを生成するコマンドを使いたいです。例えば 'cat somefile' 入力を$(cat somefile)に置き換えようとしましたが、catコマンドによって返されたすべての単語に対してsedがエラーを返しました...

1
ファイルやディレクトリを見つけてソートし、日付を抽出するための効率的なbashスクリプトを作成する方法
バックグラウンド: テストデータをテスト環境(Sybaseデータベース)にロードすることは一時的な措置です。 毎日データベースにインポートしなければならないファイルがたくさんあります。これらのファイルはそのように編成されています 30Aug2011/IMPORT_ME.txt 31Aug2011/IMPORT_ME.txt ... 8Sep2011/IMPORT_ME.txt 9Sep2011/IMPORT_ME.txt インポートのたびに、日付を修正するために特別なSQLステートメントを実行する必要があります。これが私がメインスクリプトでやったことです import_file.sh 20Aug2011/IMPORT_ME.txt cat rerun_import_file.tmpl | sed -e "s/XXX/8 Aug 2011/g" > rerun_import_files.sql $ISQL -i rerun_import_files.sql ... import_file.sh 9Sep2011/IMPORT_ME.txt cat rerun_import_file.tmpl | sed -e "s/XXX/9 Sep 2011/g" > rerun_import_files.sql $ISQL -i rerun_import_files.sql だから私はそれをより良くすることができると思います: 日付パターンに合うすべてのディレクトリを見つける 日付を正しくソートする(設定にとって非常に重要) 日付を解析して、sqlファイル内の日付を設定します。 しかし、私のbash script-fuはそれを実行するのに十分ではありません。

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