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

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

3
誰が仕事をしているのか:ffmpegまたはシェル?
私の質問の最初の部分: 私はffmpegのドキュメント(section 3.2 How do I encode single pictures into movies?)を次のように読みました: 1つの画像をムービーにエンコードするには、次のコマンドを実行します。 ffmpeg -f image2 -i img%d.jpg movie.mpg 「%d」が画像番号に置き換えられていることに注意してください。img%03d.jpgは、シーケンスimg001.jpg、img002.jpgなどを意味します... 私の質問は:誰が間の変換やっているimg%03d.jpgとはimg001.jpg, img002.jpg, etc?それはシェルまたはffmpegですか? 後編: 画像のシーケンスをビデオにエンコードするようにffmpegに依頼したいと思います。ただし、多くの場合、シーケンスは1とは異なるインデックスで始まり(たとえば、それを呼び出すことができますstart_index)、呼び出すことができるインデックスで終わりますend_index。さらに、シーケンスはvalueの増分を使用しますincrement。例: img_0025.png, img_0030.png, img_0035.png, ... img_0100.png ここstart_indexで、end_index25、100、およびincrement5でした。 最初にシーケンスの名前を変更する必要なく、上記のような画像シーケンスをffmpegにフィードしたいと思います。ドキュメントでは、シンボリックリンクを使用してこれを行う方法を説明していますが、それらを完全に回避する方法、おそらくzshで高度なグロビングを使用する方法があるかどうか疑問に思っていました。
8 shell  ffmpeg 

4
シェルプログラミング、一時ファイルの回避
私はよく同じパターンに従ってKSHシェルスクリプトを作成します。 (1)1つ以上のコマンドから出力を取得する (2)grep | cut | awk | sedを使用してフォーマットし、画面またはファイルに出力します そのために、(1)の出力を一時ファイルに保存し、そのファイルに対して(2)でフォーマットを行うことがよくあります。 そのコードを例にとります: TMPFILE=file.tmp # If tmpfile exists rm it. [ -f $TMPFILE ] && rm -f $TMPFILE for SERVICE in $(myfunc); do getInfo $SERVICE > $TMPFILE # Store raw output in the TMPFILE # I retrieve the relevant data from the …
8 shell  scripting  ksh 

2
一連のリダイレクトを理解する
複数のリダイレクトが一緒に使用される場合、それらの順序を変更すると違いがありますか? 彼らの命令の意味をどのように理解するでしょうか?リダイレクトのチェーンチャネルは、左から右、または右から左にリダイレクトを読み取るように構築されていますか? 例えば command 2>&1 > somefile command > somefile 2>&1 よろしくお願いします!

3
スクリプトで現在の作業ディレクトリを変更する
私はこの質問と回答を読みましたが、それが私の問題に完全に適合しているわけではありません。 現在のプロジェクトの1つを起動するスクリプト(cpj)を書いています。私はそれらの約5を持っています。入力すると $ cpj blah 現在の作業ディレクトリをblahプロジェクトディレクトリ($ PROJDIRに保持)に変更し、emacsclientがそのプロジェクトのメインファイル($ MAINFILEに保持)を開くようにします。 私が引用した質問では、スクリプトを実行しているシェルの環境を直接変更することはできませんが、スクリプトを読み込むことができ、そうすることができます。 これをテストするために、1行のシェルスクリプト(chcwd)を作成しました。 cd $1 コマンドラインから私が行う場合: $ . chcwd $PROJDIR 私の現在の作業ディレクトリは、必要に応じて変更されます。一方、私のcpjスクリプトから、同じ行がある場合: . chcwd $PROJECT シェルの現在の作業ディレクトリは変更されません。私は2つのスクリプト(cpjとchcwd)を実行しているため、2つのシェルを作成していることを理解していますが、希望どおりに実行する方法がありません。誰かが私の目標を達成する方法を教えてもらえますか?


3
別のパスからスクリプトを実行し、スクリプトのパスを知る方法は?
ファイルと同じパスにあるファイルにアクセスするスクリプトを実行する必要があります。 たとえば/home/me/folder/script.sh、次のスクリプトがあります/home/me/folder/myfile。このスクリプトはファイルにアクセスします。ファイルはスクリプトの同じパスにあるため、フルパスではmyfileなく、名前だけを使用します。 しかし、私がそれをから実行すると/tmp/、次のようになります: /tmp$ /home/me/folder/script.sh それは私に与えます: myfile: No such file or directory では、スクリプトで、ファイルがスクリプト自体と同じパスにあることをどのように言えますか?

4
セッションの開始時にSSHが遅い
SSHを介してインタラクティブシェルを起動すると、サーバーの1つが遅くなります。暗号化のネゴシエーションを含む、それまでのすべてが高速ですが、45秒間ハングします。その後、それは終了し、私はシェルを持っています。何がかかっているのかをどのようにして特定しますか?私は環境をクリアし、それが遅くなっている場合に備えてすべての転送を無効にしてみましたが、それは助けにはなりませんでした。これが私のテストコマンドです: env -i ssh -x -a -vvv server SSHからの出力は次のとおりです。 debug1: channel 0: new [client-session] debug3: ssh_session2_open: channel_new: 0 debug2: channel 0: send open debug1: Requesting no-more-sessions@openssh.com debug1: Entering interactive session. *(hangs for 45 seconds here)* debug3: Wrote 128 bytes for a total of 3191 debug2: callback start debug2: client_session2_setup: id …
8 linux  shell  ssh  openssh 

4
シェルコンソールのクリア
シェルコンソール(ubuntu linuxの場合)に表示されているものを1つまたは2つのキーでクリアする方法はありますか?grepウィンドウの高さを超えて行があふれると、プロンプトの後にコマンドを入力した位置まですばやくスクロールして戻したいと思います。コマンドを入力する前に新しいターミナルを開いていて、最初の位置に移動すれば、そうすることができます。しかし、同じターミナルウィンドウを使い続けると、手動で位置を見つける必要があります。Ctrl+ lはスクロールするだけなので答えではなく、端末のコンテンツは残ります。lessgrepのカラー出力がカラーで表示されないので使用できません。
8 shell  terminal 

2
exiv2で特定のExif画像データ値を印刷する
exiv2などのツールを使用して画像Exif日付を印刷するにはどうすればよいですか? 私の目標は、画像の年と月を別々の変数に書き込むことです。私は本当に正規表現で出力を解析する必要がありますか、またはこのようなものの代替手段がありますか? exiv2 DSC_01234.NEF -ps | grep 'Image timestamp' | ...regex to parse the date

4
現在のターミナルのクローンである新しいターミナルを生成できますか?
たとえば、ディレクトリ/ asdf / qwer / dfgh / wert / asdf / qwerでコードを開発していて、そのようなディレクトリをさらに3つ追加して、不可解な環境変数を設定したとします。次に、本当に同じ方法で別のターミナルを開いて設定する必要があることに気づきました(ただし、.bashrcを変更するだけなので、この必要は再発しません)。これの正確なクローンである新しいターミナルウィンドウを開くコマンドはありますか?

2
bash 4で利用できる新機能は何ですか?
今までbash3を使用していて、最新バージョンのコピーを入手した $ ./bash --version GNU bash, version 4.1.0(1)-release (i686-pc-linux-gnu) Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. $ バージョン3に対するバージョン4の主な変更点/機能追加は何ですか?
8 shell  bash 

6
あるマシンで実行されたコマンドを別のマシンで再現するにはどうすればよいですか?
VirtualBoxで実行したlinux-machineにソフトウェアをインストールしたいのですが。次に、linux-VPSでも同じことを行います。 コマンドを使用して実行するすべてのコマンドを保存できると思いますhistory。これらのコマンドを別のマシンで実行する方法はありますか?またはそのようなことをする方法は何ですか?

1
間違ったコマンドを入力すると、端末はそのコマンドをバックグラウンドで実行しようとします
奇妙なことが私の端末に起こり始めました。間違ったコマンドを入力すると、そのコマンドをバックグラウンドで実行しようとします。 hegeek@colinux: ~# l [9]+ Stopped l thegeek@colinux: ~# fdsl [10]+ Stopped fdsl 問題は何でしょうか? 編集: システムを再起動した後、問題は解決しました。しかし、私はまだこの問題の原因を知りたいと思っています。私はそれがcommand_not_found_handleシェル関数で何かをしなければならないと思います。コマンドを見つけようとしたところ、奇妙なことが行われていました。


1
Linux for VMS DCLの「エラー時」とは何ですか?
使用VMS DCLの 1が使用してエラーをキャッチすることができ、コマンドスクリプトをon errorコマンド: $ on error then goto MyErrorHandler $ directory samiam.txt $ delete x.txt $ exit $MyErrorHandler: $ print "Something." Linuxlandではこれをどのように行うのですか? この例では、directoryまたはのエラーにより、delete制御がに移動しMyErrorHandlerます。

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