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

Bash(Bourne-Again SHell)は、Ubuntuのコマンドラインインターフェースでデフォルトで使用されるシェルです。

4
ファイルの変更を監視してコマンドを実行するBashスクリプト
サブフォルダーがたくさんあるフォルダーがありますが、これらのフォルダーは拡張子asciidoctor付きのファイル形式になっています.adoc。 ファイルに変更を加えるたびに(多くの場合)、実行する必要があります asciidoctor -q filename.adoc HTML形式にコンパイルします。 プロセスを自動化しようとしています。これまでのところ、entrを使用してこれが付属しています。 ls *.adoc | entr asciidoctor -q *.adoc ただし、既存のフォルダでのみ機能し、サブフォルダでは機能しません。私はこのバリエーションを試しましたが、うまくいきません: find . -name '*.adoc' | entr asciidoctor -q *.adoc この自動化プロセスをすべてのサブフォルダーに実装する方法はありますか?

1
ulimitを使用したコアファイルサイズ
私の質問はおそらく特にUbuntuとは関係ありませんが、私のデスクトップがこのOSを実行しているため、このフォーラムに行きました。 ulimit -c次のコマンドを使用してコアファイルのサイズを変更しようとしています。 $ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 7959 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 …

2
出力を画面とファイルにリダイレクトする方法は?
私の目的は、スクリプトからのすべての出力を、スクリプトが作成するディレクトリに記録することです。 たとえば、私は: ~/.abc.sh: #! /bin/bash rails new myapp 走ると... cd ~/code . ~/.abc.sh ...ディレクトリに新しいRailsアプリを作成します~/code/myapp。 Railsがアプリを作成しているときに、キャプチャしたいテキスト全体を出力し、rails新しく作成したコマンドと同じディレクトリにあるログファイルに保存します。ターミナルにもそのテキストを表示したいと思います。 これを行うにはどうすればよいですか?
12 bash  redirect 

2
端末コマンドを実行するためにKDEでデスクトップショートカットを設定する方法
ターミナルへのSpyder入力spyderで起動できるデスクトップショートカットを起動しようとしています。 でspy.shスクリプトを作りspyderました。bash spy.shおよびで動作し./spy.shます。しかし、次のようなデスクトップショートカットを作成すると、 [Desktop Entry] Name=spyd Exec=/Desktop/spy.sh Comment= Icon= Type=Application Terminal=true それはエラーを出します: 「ターミナルの子プロセスの作成中にエラーが発生しました。子プロセス「/Desktop/spy.sh」の実行に失敗しました(そのようなファイルまたはディレクトリはありません)」 に変更したときと同じエラー Exec=spyder 私は何をすべきか?

4
コマンド出力を個々の行に分離する方法
list=`ls -a R*` echo $list シェルスクリプト内では、このechoコマンドは、現在のディレクトリからRで始まるすべてのファイルを1行で一覧表示します。各アイテムを1行に印刷するにはどうすればよいですか? 私は起こってすべてのシナリオのための一般的なコマンドを必要としls、du、find -type -dなど、
12 bash  scripts 

6
「上書きされた」ファイル、まだ占有されているスペース、それらは失われますか?
だから、私は19.04サーバーで次のスクリプトを使用して、たくさんのビデオファイルをプレフィックスの付いたフォルダーに移動しようとしました。 dirs=(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) shopt -s nocasematch for file in * do for dir in "${dirs[@]}" do if [ -d "$file" ]; then echo 'this is a …

2
.bashrcを編集した後の「予期しないトークンの近くの構文エラー」
クリップボードにアクセスしようとしていますがsource ~/.bashrc 、端末に入力するとこのエラーが発生します: bash: /home/taran/.bashrc: line 2: syntax error near unexpected token (' bash: /home/taran/.bashrc: line 2:alias pbpaste='xclip -selection clipboard -o'# ~/.bashrc: executed by bash(1) for non-login shells 私がでチュートリアルを実行しようとしましたゲイリーWoodfineの答えにコマンドラインクリップボードへのアクセス。 出力cat ~/.bashrcは次のとおりです。 alias pbcopy='xclip -selection clipboard' alias pbpaste='xclip -selection clipboard -o'# ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files …

5
`&> / dev / null&`の複数行を短縮またはマージします
マシンを起動するたびに、次のプログラムを実行します。 $ cat start.sh #! /bin/bash google-chrome &> /dev/null & lantern &> /dev/null & xdg-open . &> /dev/null & emacs &> /dev/null & code ~/Programs/ &> /dev/null & xdg-open ~/Reference/topic_regex.md &> /dev/null & 面倒な&> /dev/null &...どうすればロジックを短縮できますか?


2
ファイルを削除するときに特定のファイルとディレクトリを除外する
私の最上位ディレクトリはdataです。data複数のディレクトリが含まれ、これらのディレクトリにはサブディレクトリがあります。data/一部のディレクトリ内のいくつかのファイルを除き、内部のすべてのファイルとディレクトリを削除する必要があります。 たとえば、データにはディレクトリ100とが含まれ101ます。私は維持したいa.txtとb.txtのファイルに100/し、c.txtかつd.txt内のファイル101/内の他のすべてのファイルとディレクトリを除去しながら100と101。 例: . ├── 100 │ ├── a.txt │ ├── b.txt │ ├── c.txt │ └── d.txt └── 101 ├── a.txt ├── b.txt ├── c.txt └── d.txt rm -rf !(a.txt|b.txt)コマンドを使用していますが、このコマンドを各ディレクトリに自動的に適用することはできません。

4
条件が失敗したときにbashスクリプトを停止する方法は?
ここでは、||と&&を1行で使用してコマンドの実行を連結することを示しています。bashスクリプトでapt-getエラーを確認するにはどうすればよいですか? 特定の条件が失敗した場合、スクリプトの実行を停止しようとしていますが、 例えば false || echo "Obvious error because its false on left" && exit ここでObvious error because its false on the leftは、コンソールを表示して終了します。これは、私が望んでいたものです。 true || echo "This shouldn't print" && exit ここでは、エコー出力はありませんが、exitコマンドも実行されます。つまり、コンソールが閉じられexitます。右側のエコーコマンドが実行されなかったため、コマンドは実行されませんか?または、デフォルトでは、&&演算子の左側のステートメントは偽と見なされますか? 編集:私は前にそれを言及する必要がありました、私の目的はエラーをエコーし​​、明確でない場合終了することでした。&&および||を使用して条件をグループ化するときにエラーをキャッチするという特定のケースについては、@ bodhi.zazenの回答が問題を解決します。 @takatakatekの回答により、フロー制御がより明確になり、bashガイドリンクが優れています @muruの回答には、より堅牢な方法であるperlとtrapを使用する代替手段でカスタムエラーメッセージをスローする場合、set -eを使用しない理由の良い説明があり、2番目のbashスクリプト以降でそれを使用していることがわかります!

2
ディレクトリの名前を変更して、年を最後から最初に移動する
現在、いくつかの音楽フォルダに苦労しています。私はかつて、次のパターンに従って名前を付けることにしましたartist - album - year。今日、これは賢明な動きではないことに気づきました。今度は、パターンに従ってディレクトリに名前を付けたいと思っていyear - artist - albumます。 手作業で名前の変更を開始しましたが、約700個のフォルダーがあるため、より簡単な方法が必要です。私は使ってみましたgprenameが、正規表現とbashスクリプトがあまり得意ではありません... 私の悪い指先をspareしみなく手伝ってくれる人はいますか? いくつかの例: Aes Dana - Memory Shell - 2004 Anja Schneider & GummiHz - Back To Back (Remixes Part 2) - 2009 になるだろう 2004 - Aes Dana - Memory Shell 2009 - Anja Schneider & GummiHz - Back To Back …


5
シェルスクリプトを使用して、テキストファイルの値を列化されたファイルに出力する方法
次のようにシェルスクリプトを実行すると、output.txtがあります。 abc.txt errorstatus1 Fri Nov 11 02:00:09 2016 def.txt errorstatus2.txt Sat Nov 12 03:00:09 2016 テキストファイルには、同じ方法で行ごとに複数のエントリがあります。これらの値を次の列に出力します:Filename、Status and Timestamp as following: Filename Status Timestamp abc.txt errorstatus1 Fri Nov 11 02:00:09 2016 def.txt errorstatus2 Sat Nov 12 03:00:09 2016

3
文字列の一部のみをbashの変数に割り当てる
ユーザーから特定の絶対ファイルパスを受け取り、ファイルパスの最初の 2つのコンポーネントのみを含むが、それを何も印刷しない文字列になる変数を作成したい。 たとえば、絶対パスは次のようになります。 /home/myusername/folder1/folder2/folder3 そして、それは「target_path」に保存されており、「mydir」は次のようにしたいだけです。 /folder1/folder2/folder3 cutコマンドをさまざまな方法で使用しようとしましたが、成功しませんでした。

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