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

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

5
'tr'のみを使用して複数のスペースを1つに置き換えます
私はファイルを持っていますf1.txt: ID Name 1 a 2 b 3 g 6 f スペースの数は固定されていません。のみを使用してすべての空白を1つのスペースに置き換える最良の方法は何trですか? これは私がこれまでに持っているものです: cat f1.txt | tr -d " " しかし、出力は次のとおりです。 IDName 1a 2b 3g 6f しかし、私はそれがこのように見えることを望みます: ID Name 1 a 2 b 3 g 6 f 試してみてくださいsed。
71 shell  cut  tr 

1
cronシェルを変更する方法(shからbash)
shの代わりにbashでcrontabのコマンドを実行することは可能ですか?を使用してコマンドをbashに渡すことができることは知っていますが-c、それは面倒であり、とにかくshは使用しません。
70 shell  cron 

9
バックアップファイルに日付を追加する方法
ファイルのバックアップを作成する必要がありますが、名前の一部としてタイムスタンプを付けて、区別しやすくしたいと思います。 現在の日付をコピーコマンドにどのように挿入しますか? [root@mongo-test3 ~]# cp foo.txt {,.backup.`date`} cp: target `2013}' is not a directory [root@mongo-test3 ~]# cp foo.txt {,.backup. $((date)) } cp: target `}' is not a directory [root@mongo-test3 ~]# cp foo.txt foo.backup.`date` cp: target `2013' is not a directory
70 shell  date  cp 

8
入力ファイルを変換された出力でiconvに置き換えるにはどうすればよいですか?
ディレクトリ内のすべての* .phpファイルを列挙して適用するbashスクリプトがありますiconv。これは、STDOUTに出力を取得します。 -o(私の経験では)パラメーターを追加すると、おそらく変換が行われる前に空のファイルが実際に書き込まれるので、変換を行うようにスクリプトを調整し、入力ファイルを上書きするにはどうすればよいですか? for file in *.php do iconv -f cp1251 -t utf8 "$file" done


3
スクリプトで「3>&1 1>&2 2>&3」は何をしますか?
スクリプトでこの行を見ました: DEVICE=`dialog --inputbox "Festplatten-Laufzeit auslesen. Gebe Sie das gewünschte Device an: " 0 70 "" 3>&1 1>&2 2>&3` とは 3>&1 1>&2 2>&3 やってる?私は1 = stdoutと2 = stderrを知っていますが、何3の&ためですか?
69 shell 



2
Ctrl-D(EOF)がシェルを終了するのはなぜですか?
このエスケープシーケンスを入力することにより、文字通り「ファイルを終了する」のですか、つまり、対話型のシェルセッションは、他のファイルストリームのように、シェルによって実際のファイルストリームとして表示されますか?ある場合、どのファイルですか? または、Ctrl+ Dシグナルは単なるプレースホルダーであり、「ユーザーは入力の提供を終了し、終了してもよい」という意味ですか?

6
コマンドの前に変数をbashで有効に設定するのはなぜですか?
私はちょうどそのようになど、いくつかの答え遭遇した区切りのテキストファイル...解析する構文を使用します。 while IFS=, read xx yy zz;do echo $xx $yy $zz done < input_file ここで、IFS変数はreadコマンドの前に設定されます。 私はbashのリファレンスを読んでいますが、なぜこれが合法であるのか分かりません。 私は試した $ x="once upon" y="a time" echo $x $y bashコマンドプロンプトから、しかし何もエコーされませんでした。誰かがその構文がIFS変数をそのように設定できるようにする参照で定義されている場所を教えてもらえますか?それは特別な場合ですか、他の変数と同様の何かを行うことができますか?

2
「realpath」と「readlink -f」の違いは何ですか
私はrealpathコマンドについて多くのことを読んでおりreadlink -f、現在推奨されていることから、コマンドが非推奨になった方法を読みました。いくつかの場所で、realpathが導入された理由はreadlinkにそのような機能がないためであり、いったん導入されると、realpathはもはや必要ではなく、ほとんどのOSベンダーによってサポートが中止されることを見てきました。 私の質問の理由は、多くの人がにreadlink -f「かなり似ている」コマンドとして推奨しているのを見たことrealpathであり、それが私を悩ませていることです。実際の違いは何ですか?
68 shell  command 

6
タブ区切りの列を出力する簡単なコマンドはありますか?
たとえば、次のようにecho -e "var1\tvar2\t\var3\tvar4" > foo出力されるファイル(で作成)があります。 $ cat foo case elems meshing nlsys uniform 2350 0.076662 2.78 non-conformal 348 0.013332 0.55 scale 318 0.013333 0.44 smarter 504 0.016666 0.64 submodel 360 .009999 0.40 unstruct-quad 640 0.019999 0.80 unstruct-tri 1484 0.01 0.88 私はこのような出力を好むでしょう(ここで私は使用vimしました:set tabstop=14): case elems meshing nlsys uniform 2350 0.076662 2.78 …

1
ssh-agentの出力を評価する理由
実行するssh-agentには、使用する必要があります eval $(ssh-agent) なぜeval出力する必要があるのssh-agentですか? なぜ実行できるように設計されていないのですか? 注:推奨されていないため、バックティック( `)は削除されました。たとえば、ここで詳細を読むことができます。
67 shell  ssh  ssh-agent  eval 


9
入力したプレフィックスを使用して前のコマンドを検索します
上矢印と下矢印を使用して、コマンド履歴内を移動できます。 Matlabなどの一部のIDEでは、何かを入力してから矢印キーを押すと、入力したものから始まる履歴コマンドのみをスクロールします。これは本当に便利ですが、シェル端末ではこれは機能しません。 シェル端末で同様の機能を得る方法はありますか?そして、端末の使用効率を改善するための他のヒントはありますか?

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