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

シェルは、Unixのコマンドラインインターフェイスです。シェルにインタラクティブにコマンドを入力するか、スクリプトを記述してタスクを自動化できます。/ bin / shおよび最も互換性のあるシェル(ash、bash、ksh、zshなど)に適用される質問には、このタグを使用します。エラーのあるシェルスクリプトについては、ここに投稿する前にhttp://shellcheck.netで確認してください。

2
パターンに一致する `ls`の1つのディレクトリを除外する
1つをls除いて、.png内部にファイルがあるディレクトリ(再帰性は必要ありませんが、さらに便利ですが)にしようとしています。1つのディレクトリを除外 ls */*.png 正常に動作します。 ls (^one)*/*.png 標準出力を返しません。どうすれば達成できますか? 私は盲目で、にパイプしているespeakので、今のところ標準出力しか聞こえません。
13 shell  ls  wildcards 

2
長いオプションのみでbashコマンドラインでgetoptを使用する方法は?
あるgetoptbashのコマンドラインでコマンドが。getopt短いオプション(などgetopt -o axby "$@")で使用でき、短いオプションと長いオプション(などgetopt -o axby -l long-key -- "$@")の両方で使用できますが、長いオプションだけが必要です(つまり、短いオプションはまったく存在しません)が、コマンドgetopt -l long-key -- "$@"はありません--long-keyオプションを正しく解析します。では、長いオプションだけでgetoptコマンドを使用するにはどうすればよいですか?それとも不可能ですか、それともコマンドのバグですか?getopt
13 shell  command 


6
echo -eの逆は何ですか?
echo印刷できない文字、\n改行、またはタブを含む文字列がある場合、この文字列を印刷してこれらの文字のコードを表示する方法はありますか(改行、\bバックスペースなど)。
13 shell  echo 

5
Linux bashスクリプトでエラーをキャッチする方法は?
次のスクリプトを作成しました。 # !/bin/bash # OUTPUT-COLORING red='\e[0;31m' green='\e[0;32m' NC='\e[0m' # No Color # FUNCTIONS # directoryExists - Does the directory exist? function directoryExists { cd $1 if [ $? = 0 ] then echo -e "${green}$1${NC}" else echo -e "${red}$1${NC}" fi } # EXE directoryExists "~/foobar" directoryExists "/www/html/drupal" スクリプトは動作しますが、エコーのほかに、次の場合の出力もあります cd $1 …


5
異なるパラメーターを使用して同じコマンドを再実行する
私は次のコマンドを実行できることを知っています ls Some{File,Folder} そして、これはこれを実行するのと同等です: ls SomeFile SomeFolder (私はのようなものにも多く使用していますmv place_{a,b}) しかし、私はこのようなことをすることができる別のショートカットがあるかどうか疑問に思っていました: run-command --a --whole --lot --of --flags parameter a; \ run-command --a --whole --lot --of --flags parameter b そして、私はタイプするrun-command --a --whole --lot --of --flags parameter {a,b}か、似たようなことだけをしなければならなかった。

1
無効な接続を与えるシェルスクリプトのnetcat
Webリクエストをポート1111でnetcatリッスンするためlocalhostに使用するシェルスクリプトがあります。localhost:1111/index.htmlたとえば、アクセスしようとするたびに、次のようになります。 invalid connection to [127.0.0.1] from localhost [127.0.0.1] 60038 最後の数字(60038)は、アクセスするたびに増加しているようですlocalhost。 何が間違っているのかについての提案はありますか?そして、default localhostディレクトリは何ですか?index.htmlそれlocalhost:1111/index.htmlが機能するようにどこに置くべきですか? 編集 完全なスクリプトは次のとおりです。 #!/bin/sh while true do netcat -vvl localhost -p 1111 -c ' set -x read http_request echo HTTP/1.0 200 OK echo echo "Received HTTP request: $http_request" ' done

2
segfaultingプログラムからのパイプ出力
ttf2afm時々セグメンテーション違反を起こすプログラムと、特にそうではないプログラム(具体的には、tetex 3.0の一部)を呼び出すスクリプトがあります。必要な情報は常にセグメンテーション違反が発生する前に出力されますが、プログラムの失敗時にパイプのリダイレクトが失敗し、パイプに何も出力されないようにするのに苦労しています。 FIFOを介してリダイレクトを試行trueし、最後にプロセスをかっこで囲み、シェル関数から実行し、で囲みましたsh -cが、スクリプトはプロセスが何も、リダイレクトまたはその他を出力しないようにしました。 私はそれがコマンドラインから完全に出力できるが、何らかの理由でスクリプトからではないので、出力できることを知っています。 私の質問は、スクリプトがプログラムがセグメンテーション違反を起こし、出力を提供するという事実を無視する方法はありますか? BASH 4.1.10(2)-releaseを実行しています。

1
ファイル記述子のリーク
ファイル記述子が漏れている場合はどういう意味ですか File descriptor 6 (socket:[901758]) leaked on lvextend invocation. Parent PID 10035: /bin/zsh File descriptor 9 (/dev/pts/1) leaked on lvextend invocation. Parent PID 10035: /bin/zsh File descriptor 11 (/dev/pts/1) leaked on lvextend invocation. Parent PID 10035: /bin/zsh File descriptor 12 (/dev/pts/1) leaked on lvextend invocation. Parent PID 10035: /bin/zsh File …
13 shell  lvm 

2
zshのユーザーまたはルートに応じてプロンプトの色を変更します
zsh %#では、基本的にユーザーの場合に表示するか、ルートの場合に表示することを意味するin PS1(または任意のPROMPT変数)を%使用できます#。私はこれに影響を与えるどのような方法がある場合はそのことを思ったんだけど%か#、それは、ユーザまたはルート(rootの赤、利用者のための青)だかどうかに応じて色を変更する明白な方法は、単に変更することであるPS1私のルートの中で~/.zshrcはなく検討しますこれはすでに特別なシンボルですのでPS1、両方に同じものを使用できる方法はないのではないかと考えています... %#zshの場合のように特定の何かがあります(他にも好きなハックがあるはずですif thenステートメント)。
13 shell  zsh  colors  prompt 


2
BashとZsh以外のシェルはANSI-Cクォートをサポートしていますか?例:$ 'string'
出力に緑色のチェックマークを出力するために次を使用するシェルスクリプトがあります。 col_green="\e[32;01m" col_reset="\e[39;49;00m" echo -e "Done ${col_green}✓${col_reset}" BashのANSI-C Quotingについて読んだ後、色変数を設定-eし、echoからフラグを削除するときに使用できることに気付きました。 col_green=$'\e[32;01m' col_reset=$'\e[39;49;00m' echo "Done ${col_green}✓${col_reset}" これは、Bashの組み込みエコーまたは外部ユーティリティ/bin/echo(私はmacOS上にある)に渡されたメッセージが正しく印刷されることを意味するため、魅力的です。 しかし、これによりスクリプトの移植性が低下しますか?BashとZshがこのスタイルの引用をサポートしていることは知っていますが、他のことについてはわかりません。

3
mpvで自動的に字幕を再生する
字幕ファイルには、.srt、.sub、.assなど、さまざまな形式があります。メディアファイルと一緒に字幕ファイルを検索するようにmpvに指示する方法はありますか?現在、私はファイル名によってはかなり長くなる可能性があるこのようなことをしなければなりません- [$] mpv --list-options | grep sub-file (null) requires an argument --sub-file String list (default: ) [file] 回答をお待ちしております。 Update 1-.srt(または下付き文字)を含む典型的な映画 [$] mpv Winter.Sleep.\(Kis.Uykusu\).2014.720p.BrRip.2CH.x265.HEVC.Megablast.mkv (null) requires an argument Playing: Winter.Sleep.(Kis.Uykusu).2014.720p.BrRip.2CH.x265.HEVC.Megablast.mkv (+) Video --vid=1 (*) (hevc) (+) Audio --aid=1 (aac) (+) Subs --sid=1 'Winter.Sleep.(Kis.Uykusu).2014.720p.BrRip.2CH.x265.HEVC.Megablast.srt' (subrip) (external) [vo/opengl] Could not create EGL context! …

5
CPからのエラーメッセージを抑制するにはどうすればよいですか。
現在Linuxでエラーコマンド、特にコマンドを抑制する方法を探していますcp。 私がやります: root@ubuntu:~$ cp /srv/ftp/201*/wha*/*.jj ~/. cp: cannot stat `/srv/ftp/201*/wha*/*.jj': No such file or directory 画面に表示されるエラーメッセージを非表示にするにはどうすればよいですか?つまり、このエラーメッセージをモニターに表示したくありません。
13 shell  wildcards  cp 

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