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

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

1
Bash PS1と一重引用符と二重引用符
私はLinuxとBashの初心者なので、PS1 env varを割り当てる際のシングルクォートとダブルクォートの役割を理解するのに助けを求めたいです。常に現在のディレクトリを表示するようにターミナルを設定したかった。最初にこれを試しました: export PS1="\[\e[38;5;46m\]>\[\e[38;5;255m\]\[\e]0;$(pwd)\007\]" これは、現在のディレクトリを表示するように更新され、端末のタイトルを引き起こした私はEnterキーを押したときが、ではない、私はその後、どこか別の場所にcd'ed場合。 目的のない試行錯誤を通して、私は最終的に試しました: export PS1='\[\e[38;5;46m\]>\[\e[38;5;255m\]\[\e]0;$(pwd)\007\]' 単一引用符を使用した2番目のバージョンには、望ましい効果がありました。新しいディレクトリにcdするたびに、端末のタイトルが更新されました。 単一引用符と二重引用符の使用がこのように異なる理由を誰かが説明できますか?ありがとうございました。 私はこの議論を見つけました:minttyウィンドウのタイトルを変更するには?しかし、OPは回答にフラグを立てていないようであり、そのリンクから試した回答はシェルでは効果がないように見えました。
linux  bash  terminal  ps1  pwd 

3
Windowsで単純なshスクリプトを同等のバッチスクリプトに変換する
これは、Windowsでバッチファイルに変換する必要があるスクリプトです。 #!/usr/bin/env sh TOOLS=./build/tools $TOOLS/caffe train \ --solver=examples/cifar10/cifar10_full_relu_solver_bn.prototxt これは私がこれまでに思いついたスクリプトです: REM go to the caffe root cd ../../Build/x64/Release caffe.exe train --solver=../../../examples/cifar10/cifar10_full_relu_solver_bn.prototxt pause これにより、実行可能ファイル(caffe.exe)が実行され、必要に応じて必要な引数ファイルが渡されますが、問題は引数ファイル自体がそれ自体に関連する別のファイルを指し、この2番目のファイルが見つからないことです。 これが、引数ファイル内の2番目のファイルの対処方法です。 net: "examples/cifar10/cifar10_full_relu_train_test_bn.prototxt" 物事をより明確にするために、フォルダーの階層は次のようになります。 |Build |--X64 |--Release |--caffe.exe |Examples |--Cifar10 |-- cifar10_full_relu_solver_bn.prototxt |-- Cifar10_train_test.prototxt |-- other files as well 私の質問は、すべての相対ファイルアドレスも変更する必要がないように使用できる方法はありますか?

1
WSL / Bashを使用して、マウントされたコンテナー内のファイルおよびフォルダーにアクセスできなくなりましたか?
Windows 10ビルド16299 GNU Bashバージョン4.3.11 VeraCrypt 1.19 以前は、マシンのH:に暗号化されたコンテナーがマウントされていました。エクスプローラーウィンドウとcmd行(たとえば、user @ host:/ mnt / h / [folders and files])の両方で問題なくアクセスできました。 ただし、最近、新しい暗号化されたコンテナを作成し、R:ドライブにマウントしたため、コマンドラインからドライブディレクトリにアクセスできなくなりました。 コマンドライン端末からWSL bashを使用する: cd / mnt / cは、すべてのC:フォルダーと完全なファイルディレクトリを表示します cd / mnt / hでH:に移動しますが、[ls -l]は下に合計0個のファイルを表示します-6つのフォルダーと1つのファイルが必要です cd / mnt / rでR:に移動しますが、合計で0個のファイルが表示されます-7つのフォルダーと5つのファイルが必要です どちらのドライブもFAT32形式であり、WSLで動作するNTFSドライブのみであるという問題を知っています。しかし、これは以前は問題なく動作していましたが、H:が1つしかマウントされていなかったため、コマンドラインからフォルダ/ファイルにアクセスする方法がわかりませんか? mntオプションの画像 繰り返しますが、以前は次のようなコマンドを使用してファイルにアクセス、読み取り、書き込みができました。 'cat / mnt / h / dir1 / technology / folder1 / …

1
ディレクトリに親フォルダを作成するより古いファイルを見つけて、そこに移動します
私は次のことを行うbashスクリプトを作成しようとしています。 findコマンドを使用して、7日より古いファイルを検索しfind . -type f -mtime +7 ! -iname '.*'(、見つかったファイルの親ディレクトリを取得parent directoryし、別のディレクトリに名前を持つ新しいフォルダーを作成し、_todaysDate(date '+%m%d&y)を追加して、そこに見つかったファイルを移動します。 これを行うには何が最善でしょうか?while?for?doループ?どうやってそれをやりますか? 前もって感謝します! 編集:ファイル構造の例を示します folder1 - folder2 -oldfile1 folder1a - folder2a -folder3a -oldfile2 ---- In a new directory, a new folder would be created ( and that folder's name would be the parent folder of the old file, and …

1
PS1の関数出力としてのBashエコーカラー
PS1にブランチを表示し(gitフォルダーにいる場合)、作業ディレクトリが汚れている場合はブランチを赤で、きれいな場合はブルーでブランチを着色します。ここに私が思いついたものがあります IBlack='\e[0;90m' # Nero IRed='\e[0;91m' # Rosso IGreen='\e[0;92m' # Verde IYellow='\e[0;93m' # Giallo IBlue='\e[0;94m' # Blu IPurple='\e[0;95m' # Viola ICyan='\e[0;96m' # Ciano IWhite='\e[0;97m' # Bianco parse_git_branch() { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' } branch_color() { if git status | grep --quiet "nothing to …
macos  bash  git  ps1 

3
Linux用のテキスト拡張ツール?
ターミナル内のブラケットと引用符を自動的に閉じることができるツールを探しています。たとえば、次のように入力すると echo " 自動的に展開するはずです echo "" カーソルを中央に置きます。 これはすでにvimや他の多くのエディターで実行可能です。ターミナルでも同じ機能を使用したいと思います。

1
Linuxでdirectory1からdirectory2にいくつかのファイルを「更新」するスクリプトまたはアプローチ
2つのディレクトリ、directory1とdirectory2があります。同じサブディレクトリ構造を含む最新のファイルをdirectory1からdirectory2にコピーするLinuxフレンドリーなスクリプトで最もクリーンな方法は何ですか。 実際、それは彼が最新のものである必要はなく、すべてのファイルをコピーして、それらをdirectory2に入れるだけです。ディレクトリを削除できません。1からファイルを取得して、ディレクトリ2に配置する必要があります。 これらのファイルがソース管理下にあればいいのですが、そうではありません。削除について心配する必要はありません。
linux  bash  script 

0
マルチスレッドJavaアプリとbashスクリプトを使用した個々のタスクの実行
を使用して(常に互いに依存しているわけではない)多くの異なるスレッドを実行するJavaアプリがありますScheduledThreadPoolExacutor。 私は、スレッドごとに個別の実行可能jarファイルを作成し、bashスクリプトを使用してループで個別に実行すると、システム(LINUX)に何らかの効果があるかどうか疑問に思っていました。 それも重要ですか?悪いことも悪いことも、システムに影響しますか?Javaのマルチスレッドアプリケーションのままにする必要がありますか? ご協力ありがとうございました。

1
リダイレクトされた入力を持つlftpを使ったbashスクリプト
IPアドレス形式のリストファイルからホストのリストに接続するにはlftpが必要です。次に、ftpサーバーが起動している場合は、そのアドレス(可能であればデバイスの種類、この場合はルーター)をテキストファイルに記録します。稼働しているサーバーの場合は、資格情報を指定せずに接続し、findを使用してディレクトリとファイルをマップし、そのデータをサーバーアドレスの名前のファイルに出力する必要があります。私はftpでforループを書き込もうとしましたが失敗しました。私はlftpが私がする必要があることのための最良の選択肢になるだろうと思います。 cat list6.txt | lftp | grep connected > livehosts.txt また: for i [in LIST ]; do ftp; "echo welcome> *"; done > [IP Address].txt 少なくとも入力をlftpにリダイレクトすることについての最初の部分の助けが評価されるでしょう。
-1 linux  networking  bash  ftp  lftp 

1
grep、sed、またはawkを使用してファイルから行を抽出しますか?
openLDAP認証から他の認証方法に移行したい。私の主な問題は、私が手動でそれらを移行する必要があるsudoersです。 したがって、そのためのスクリプトを作成する必要があります。これにはbashを使いたいのですが。 ldifファイルには、次のような行が含まれています。 dn: cn=Devs, ou=SUDOers, dc=example,dc=com sudoUser: %devs sudoCommand: /bin/su - command sudoCommand: /bin/su - wwwadmin sudoHost: ALL description: Developer Admin objectClass: sudoRole cn: Devs だから、私がする必要があるのです: LDIFファイルを読みます。 dn:とcn:Devsを含む行の間の空白行ORの間のすべての行を抽出します。 組み込みのBASHコマンド、grep、awk、sedなどだけを使いたいのですが。 Python、PHP、Perlなどはありません
-1 linux  command-line  bash  grep  sed 

1
複数のファイルを含むdiffコマンドにfindコマンドの出力を渡すにはどうすればいいですか?
.csvで終わるファイルが5つ見つかりました。今、私はdiffコマンドを使用してこれらのファイルの内容を比較したいです。 bash上のLinux端末で1つのコマンドで両方のアクションを実行する方法を教えてください。 私は何かをしたいのですが。 $ find -name *.csv | diff output_of_find_command そしてファイルの違いを印刷します。 (5つあります)。

1
この「検索」コマンドがすべてのディレクトリをスキャンするのはなぜですか?
再帰的にスキャンしたいだけでDocuments、その「親」フォルダーを残したくない。私のスクリプトはファイルシステム全体を再帰的にスキャンしますが、このスクリプトのどの要素がそれを引き起こしているのかわかりません。これは私が持っているものです: #/bin/sh for f in $(find /home/rmintz/Documents/ -type f -name "*jpg") do echo $f done このbashスクリプトがDocumentsフォルダーのみをスキャンし、他の何もスキャンしないようにするには、何を変更する必要がありますか? ターミナルの出力がの領域外のディレクトリを表示するので、これはファイルシステム全体をスキャンしているという印象を受け/home/rmintz/Documentsます。 例は/usr/libです。

1
不正なコマンドが与えられない限り、bashスクリプトは機能しません
私が持っているスクリプトが完全に完了するまで(それは私のステータスラインをフリーズ)は動作しません。ただし、ランダムな不良コマンドを追加することにより、例えば asdfasdf スクリプトが到達するファイル内の任意の場所(つまりexit 0、コメントの直後またはコメント内ではない)で、スクリプトは完全に機能します(フリーズしません)。 この種の動作の原因は何ですか?また、どうすれば修正できますか?
-1 linux  bash 

1
Macでbashスクリプトが開始される理由を調べるにはどうすればよいですか?[複製]
重複の可能性: bashプロセスは90%のCPUを使用し、コンピューターの再起動時に戻ってきます Macbook Airでbashスクリプトが開始されます。(昨日買った)。 スクリプトは私のCPUの約20%を使用しています。 マシンを再起動するたびに起動します。 私はそれが何を実行しているのか知りたいのですが...しかし、どうやって見つけるのか分かりません。 [私は非常にゆっくりと端末の周りに自分の道を見つけることができますが、私は約15年間unixの仕事をしていません...そして、私は専門家ではありませんでした。]

1
なぜ二重二重引用符が文字列を関数として実行するのですか?
単純な関数は2つの引数を受け取り、追加してandから出力します。 function myprint(){ echo "$1 and $2";} できます。 myprint xx yy xx and yy これは文字列であり、bashは個別に解析します。 "myprint xx yy" bash: myprint xx yy: command not found なぜ二重二重引用符が文字列を関数として実行するのですか? ""myprint xx yy"" xx and yy

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