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

シェルとは、ユーザーがオペレーティングシステムとやり取りできるようにするソフトウェアで、通常はコマンドラインで入力します。

2
任意のシェルで実行されるシェルスクリプトの作成(複数のシバン行を使用しますか?)
私はシェルスクリプトの詳細を調べ始めたばかりで、常にスクリプトをファイルにスローし、マークを付けてchmod +x完了/path/to/script.shし、デフォルトのインタープリターをそのまま使用できるようにしました。シェルに使用しました。どうやら/bin/sh、zshプロンプトからスクリプトを実行した場合でも、スクリプトにzsh固有のものを入れ始め、実行しないと失敗するため、デフォルトであるようですzsh /path/to/script.sh。 ポイントを得るために、ここに私の質問があります: #!/path/to/shell先頭にシェバン行()がない場合、どのシェルがスクリプトを実行しますか?推測します/bin/shが、確認できません。 任意のプラットフォームで実行されるシェルスクリプトの記述に関して、「ベストプラクティス」と見なされるものは何ですか?(OK、これは一種の無制限の) zshを使用しようとし、zshが利用できない場合はbashにフォールバックするスクリプトを書くことは可能ですか?以下のように2つのシバン行を入れてbad interpreter: /bin/zsh: no such file or directoryみましたが、zshのないマシンで試してみるとエラーが出ます。 #!/bin/zsh #!/bin/bash

5
Linuxでファイルを特定のサイズにカットする方法は?
総当たりでファイルのサイズを縮小したい、つまり、残りを気にせず、ファイルを半分に切り、残りを破棄したいだけです。 最初に思い浮かぶのは、Perlの切り捨てです。私はそのページの例に従っていますが、まったく同じことをしました。 seq 9 > test.txt ls -l test.txt perl -we 'open( FILE, "< ./test.txt" ) && truncate( FILE, 8 ) && close(FILE);' ただし、ファイルは同じサイズのままです。 $ ls -lgG test.txt -rw-rw---- 1 18 2013-08-08 09:49 test.txt この作業を行うにはどうすればよいですか?
19 linux  ubuntu  shell  perl 


6
unzipコマンドを「元に戻す」方法は?
「unzip XXX.zip」を使用してzipファイルを抽出しましたが、残念ながら間違えました。 ここで、「unzip」で生成されたすべてのファイルとディレクトリを削除します。 どうすれば元に戻すことができますか?
19 linux  shell 

6
LinuxターミナルエミュレーターでShift +矢印キーを使用してテキストを強調表示できないのはなぜですか?
これらは、文字通り、ターミナルエミュレーター以外のLinuxアプリケーションでテキストを編集するときに常に使用する標準のテキスト編集キーボードショートカットです。 左+右矢印で左+右に移動 ctrl + arrowで単語全体を移動します ホーム/エンドで行の開始/終了に移動します ctrl + c / ctrl + vでコピー/貼り付け[一部の端末はshift-ctrl-C / shift-ctrl-Vを使用できます。これは良い代替品です] Shift +矢印でテキストを強調表示 shift + ctrl + arrowで単語全体を強調表示します このリストの最後の2つの項目を許可するシェルとターミナルエミュレータの組み合わせを発見したことはありません。明らかに端末エミュレーターは強調表示をサポートし(マウスで可能)、修飾キーとしてctrlおよびshiftキーの使用をサポートします(カーソルを単語全体に移動したり、文字を大文字にしたりできます; [編集:] shift-ctrl-Cおよびshift-ctrl-Vでコピー/貼り付けに使用することもできます)、この機能を妨げる問題は何ですか?いくつか質問があります。 これは私の端末エミュレーターの問題ですか、それともシェル(bash、変更しても構いませんが)の問題ですか? ターミナルエミュレーター/シェルが、この普遍的な標準に準拠していないのはなぜですか? 実際の理由がある場合、それは古くて時代遅れですか、それともかなりの数のデスクトップ Linuxユーザーに関連していますか? 回避策はありますか? これをサポートするために使用できる不明瞭なプログラムはありますか? これをサポートするために、たとえばgnome-terminalのソースを変更することは可能ですか? マウスでテキストをコピー/貼り付けできることは知っていますが、それは私が尋ねていることではありません。ターミナルエミュレータのキーボードではこれらのことができない理由を尋ねています。

7
機能的なUnixシェルはありますか?
私は(本当に)関数型プログラミングの初心者です(実際にはPythonを使用してのみ関数型プログラミングと接触していました)が、シェル環境でのリスト集約型のタスクには良いアプローチのようです。 私はこのようなことをしたいです: $ [ git clone $host/$repo for repo in repo1 repo2 repo3 ] この種の機能を持つUnixシェルはありますか?または、Python内から簡単なシェルアクセス(コマンド、env / vars、readlineなど)を許可する機能があるかもしれません(bashの代わりにpythonのインタラクティブインタープリターを使用することです)。 編集: たぶん比較例が明らかになるでしょう。dir / fileで構成されるリストがあるとしましょう: $ FILES=( build/project.rpm build/project.src.rpm ) そして、私は本当に簡単なタスクをしたい:すべてのファイルをdist /にコピーし、それをシステムにインストールします(ビルドプロセスの一部です): bashの使用: $ cp $ {files [*]} dist / $ cd dist && rpm -Uvh $($ {files [*]}のfの場合、do basename $ f; done)) 「pythonic …
18 shell  unix 

9
OS Xから任意のファイルの絶対パスを取得する方法
私は、OS X上のファイルへの絶対パスおよび正規化パスを見つけるためにBash内で使用できる単純なコマンドを探しています(Linuxの「readlink -f」に似ています)。 次のサンプルbashセッションでは、「abspath」という名前の[架空の]ユーティリティについて説明します。このユーティリティは、目的の動作を示します。 $ pwd /Users/guyfleegman $ ls -lR drwxr-xr-x 4 guyfleegman crew 136 Oct 30 02:09 foo ./foo: -rw-r--r-- 1 guyfleegman crew 0 Oct 30 02:07 bar.txt lrwxr-xr-x 1 guyfleegman crew 7 Oct 30 02:09 baz.txt -> bar.txt $ abspath . /Users/guyfleegman $ abspath foo /Users/guyfleegman/foo $ abspath …

10
コマンドプロンプトのコマンドエイリアス?
Windowsのコマンドプロンプトでコマンドエイリアスを作成するにはどうすればよいbashですか? 私はフォーラムのスレッドdoskeyで知りましたので、次のようなことができます: doskey ls=dir /b ...そして、コマンドlsはlsUnixのように少し動作します。(私はls頻繁にタイプしますcmd、それはおかしくさえありません。) しかし、どのようにこれをセッション間で固執させるのですか?次回開けると消えるcmd.exe。(次のようなものはあり.bash_profileますか?)


2
シェルSIGKILLキーバインド
をSIGKILL現在のフォアグラウンドジョブに送信するキーバインドを設定するにはどうすればよいですか?私はすでにそれを知っているCtrl+がCあるSIGINTとCtrl+ \ですSIGQUIT。もっと厳しいオプションが欲しいです。 これについて真剣に勧められないことはありますか?

4
コマンドラインからファイルプロパティダイアログを起動するにはどうすればよいですか?
propertiesWindowsにファイルを開くように指示するときに動詞を指定するのは、ShellExecuteを使用してプログラム的に簡単ですが、コマンドラインまたは実行ボックスから実行できますか? 理想的には、外部プログラムやスクリプトなしでこれを実行したいです。 ShellExecuteを使用して呼び出すことで可能になりますrundll32.exeが、適切なパラメータがないわけではありません。

3
別のユーザーのulimitを確認し、開いているファイルを変更するにはどうすればよいですか?
Gearmanユーザーとして実行中のプロセスがあり、open filesこの厄介なエラーが発生しないように変更したいと思います。 エラー2014-09-12 17:49:14.000000 [main] accept(Too many open files)-> libgearman-server / gearmand.cc:788 Ubuntuでulimitを別のユーザーとして実行し、開いているファイルを変更するにはどうすればよいですか?現在、ギアマンとしてログインしていませんが、ルートアクセス権は持っています。私はこれを試しました: su gearman --shell /bin/bash --command "ulimit -n" ここで推奨されるとおりですが、何も出力されません。 $ su gearman --shell /bin/bash --command "ulimit -n" Password: $
18 shell  ulimit 

4
SSHからログアウトした後、現在実行中のLinuxタスクが強制終了されるのを防ぐ
LinuxサーバーでSSH接続を介して数日間実行する計算タスクがあります。バックグラウンドではないため、SSH接続はタスクを保留しています。 sshセッションを開いたローカルマシン(サーバーではなく)を再起動したいのですが、タスクを実行したままにします。それは可能ですか?
18 linux  ssh  shell  kill 

3
正規表現を使用してコマンドラインでファイルを削除する方法は?
FOOXXという名前のファイルが20個あるとします。XXはファイルの番号です(例:01、02など)。 現時点では、番号10より小さいすべてのファイルを削除する場合、これは簡単で、ワイルドカード、たとえばrm FOO0 *を使用するだけです。 ただし、13〜15の範囲内の特定のファイルを削除する場合、これはより困難になります。 rm FPP [13-15]は機能せず、すべてのファイルを削除するかどうかを尋ねられます。Likewse rm FOO1 [3-5]は、FOO1で始まるすべてのファイルを削除したい だから、このようなファイルの範囲を削除する最良の方法は何ですか? 私はbashとzshの両方を試しましたが、そのような基本的なタスクでそれほど違いはないと思いますか?
18 linux  bash  shell  regex  zsh 

4
シェル展開を印刷することは可能ですか?
ユーザーが入力したコマンドをシェルが展開するルールの特定のセットがあることを知っています。(bashシェルについて話しましょう。) シェル展開後にフォームにコマンドを印刷することは可能ですか?シェルが特殊文字をどのように展開するかを学び、確認するのは良いユーティリティのようです。 例えば $ echo * {all the filenames in current dir} 次の行である拡張コマンドを印刷します。 echo {all the filenames in .}

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