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

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


6
whileループ内でbashの入力を読み取る
私は次のようなbashスクリプトを持っています、 cat filename | while read line do read input; echo $input; done しかし、これは明らかにI / Oリダイレクトの可能性があるため、whileループでファイル名から読み取ろうとするときのように、正しい出力を与えていません。 同じことをする他の方法は?
97 bash  while-loop 

4
プレーンbashで正規表現を使用して部分文字列を抽出する
bashを使用して文字列から時間を抽出しようとしていますが、それを理解するのに苦労しています。 私の文字列は次のとおりです: US/Central - 10:26 PM (CST) そして、その10:26部分を抽出したいと思います。 誰もがbashでのみこれを行う方法を知っています-sed、awkなどを使用せずに? のように、私はPHPで使用します-最善の方法ではありませんが、それは機能します-のようなもの: preg_match( ""(\d{2}\:\d{2}) PM \(CST\)"", "US/Central - 10:26 PM (CST)", $matches ); 回答にsedまたはawkを使用している場合でも、助けてくれてありがとう
97 regex  bash 

5
Bashバックティックに相当するバッチ
Bashを使用する場合、次のように1つのコマンドの出力を別のコマンドに入れることができます。 my_command `echo Test` と同じものになります my_command Test (明らかに、これは非実用的な例にすぎません。) Batchで同じことができるかどうか疑問に思っています。

5
bashスクリプトでENTERキーをシミュレートする
いくつかのコマンドを実行する非常に単純なbashスクリプトを作成しました。これらのコマンドの1つは、実行時にユーザー入力を必要とします。つまり、ユーザーに "何とか何とか何とかしますか?"と尋ねます。スクリプトが完全に自動化されるように、Enterキーをこれに送信するだけです。 実行時に入力や何かを待つ必要はありません。キーを押すだけで十分で、残りは入力バッファで処理されます。
97 linux  bash  ubuntu  shell 

11
Python対Bash-パフォーマンスに関して、それぞれが他のタスクをどのような種類のタスクで実行しますか?
明らかにPythonの方がユーザーフレンドリーです。Googleでクイック検索を行うと多くの結果が表示されます。これは、Pythonがバイトコンパイルされるため、通常は高速であることを示しています。私も見つけ、これは、あなたが辞書ベースの操作で2000%以上の改善を見ることができると主張しています。 この問題についてあなたの経験は何ですか?それぞれが明確な勝者となるタスクの種類はどれですか。

27
シェルスクリプト内でINI値を取得するにはどうすればよいですか?
私はparameters.iniファイルを持っています: [parameters.ini] database_user = user database_version = 20110611142248 処理できるように、bashシェルスクリプト内からparameters.iniファイルで指定されたデータベースバージョンを読み取って使用したいと思います。 #!/bin/sh # Need to get database version from parameters.ini file to use in script php app/console doctrine:migrations:migrate $DATABASE_VERSION どうすればいいですか?
97 bash  shell  config  ini 

7
部分的にコピーされたファイルでscpを再開する方法は?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 9か月前に閉鎖。 この質問を改善する scpシェルコマンドを使用して、ファイルの巨大なフォルダーをコピーします。 しかし、ある時点で、実行中のコマンドを(Ctrl + Cまたはkillで)killする必要がありました。 scpはファイルを順番にコピーするので、部分的にコピーされたファイルは1つだけになるはずです。 同じscpコマンドを再開して、正常にコピーされたファイルを上書きせず、部分的にコピーされたファイルを適切に処理するにはどうすればよいですか? PS私はこの種のものをrsyncで実行できることを知っていますが、何らかの理由でscpの方が高速なので、代わりにそれを使用します。
97 linux  bash  scp 

6
「&」文字をbashカールステートメントに含める方法
bashでcurlを使用してWebページをダウンロードしようとし&ていますが、URL の記号が希望どおりの文字として解釈されません。シンボル&が退屈なキャラクターで特別なものではないことをbashにどのように納得させることができるかについてのアイデアはありますか?
97 bash  curl 

3
bashで関数を終了する方法
スクリプト全体を強制終了せずに条件がtrueの場合に関数を終了するには、関数を呼び出す前に戻ってください。 例 # Start script Do scripty stuff here Ok now lets call FUNCT FUNCT Here is A to come back to function FUNCT { if [ blah is false ]; then exit the function and go up to A else keep running the function fi }
97 bash  function  exit 

6
各パラメーターから末尾のスラッシュを削除する最も簡単な方法は何ですか?
'$ @'配列の各パラメータから末尾のスラッシュを削除してrsync、ディレクトリを名前でコピーする最も簡単な方法は何ですか? rsync -a --exclude='*~' "$@" "$dir" わかりやすくするためにタイトルを変更しました。複数の末尾のスラッシュに関するコメントと回答を理解するには、編集履歴を参照してください。


5
vimから実行されたコマンドがbashコマンドのエイリアスを認識しない
Macでbashを使用していますが、エイリアスの1つは次のようになります alias gitlog='git --no-pager log -n 20 --pretty=format:%h%x09%an%x09%ad%x09%s --date=short --no-merges' しかし私がするとき :! gitlog 私は得る /bin/bash: gitlog: command not found 私は私のような.gitconfigにこのようなエイリアスを追加できることを知っています [alias] co = checkout st = status ci = commit br = branch df = diff ただし、すべてのbashエイリアスを.gitconfigに追加したくありません。それはDRYではありません。 より良い解決策はありますか?
96 bash  vim  alias 

11
WindowsバッチとLinux Bashの両方で実行する単一のスクリプト?
Windows(.batとして扱われる)とLinux(Bash経由)の両方で実行される単一のスクリプトファイルを書くことは可能ですか? 私は両方の基本的な構文を知っていますが、わかりませんでした。おそらく、Bashのあいまいな構文やWindowsバッチプロセッサの不具合を悪用する可能性があります。 実行するコマンドは、他のスクリプトを実行するための単一行である場合があります。 その動機は、WindowsとLinuxの両方で単一のアプリケーションブートコマンドを使用することです。 更新:システムの「ネイティブ」シェルスクリプトの必要性は、適切なインタープリターバージョンを選択し、特定の既知の環境変数などに準拠する必要があることです。CygWinのような追加の環境をインストールすることは好ましくありません。コンセプトを維持したいと思います。ダウンロードして実行」。 Windowsで考慮すべき他の唯一の言語は、Windows Scripting Host-WSHです。これは、98以降、デフォルトで事前設定されています。
96 bash  batch-file 

2
WindowsからUbuntuサブシステムにファイルをコピーする[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 2年前休業。 この質問を改善する 開発者モードを有効にしてインストールしましたBash on Ubuntu on Windows。 私のホームディレクトリはの下%localappdata%\Lxss\home\<ubuntu.username>\にあります。フルパスが次のようになるように、Picturesというサブディレクトリを作成しました。 Windowsの場合: C:\Users\<windows.username>\AppData\Local\lxss\home\<ubuntu.username>\Pictures バッシュで: /home/<ubuntu.username>/Pictures コマンドを使用してbashからファイルを作成した場合touch hello.txt、Windows UIでこのファイルを自由に表示して、デスクトップにコピーできます。ただし、Windows UIから新しいテキストファイルを作成してに保存するとC:\Users\<windows.username>\AppData\Local\lxss\home\<ubuntu.username>\Pictures、bashまたはwindowsを再起動しても、ファイルを表示しても表示されませんls -l。 Windows側から作成されたファイルを自分のホームディレクトリにbashで表示できないのはなぜですか? EDIT Using /mnt/cは解決策ではありません、なぜそれらのファイルが表示されないのかを理解しようとしています、そしてそれを修正して、ターミナルを使用してコピーするのではなく、UIで作成されたファイルを表示できるようにします-ファイルを貼り付けるか移動します。

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