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

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

1
Vimはエイリアスを無視します
次のようなものを使用してvimでコマンドをマッピングすると map <f4> :! pdflatex %<cr> Vimはpdflatexのエイリアス(エイリアスpdflatex = 'pdflatex --temp-dir = something'など)を無視します。vimがそれを無視しないようにすることは可能ですか?
11 shell  vim  alias  ignore 

3
組み込みシェルコマンドのマニュアルページを簡単に表示するにはどうすればよいですか?
知らないスクリプトでコマンドを見つけて(たとえば)入力しman pushdたりman umask、組み込みコマンドのマニュアルページを表示したりした場合。man bash組み込みコマンドのヘルプを見つけるためにスクロールできることを知っています。または、ブラウザーを開いてオンラインのbashのmanページにアクセスすると、より簡単に検索できますが、manページを取得する簡単な方法があります。コマンドラインで直接単一の組み込みコマンド?


1
curlが200以外のHTTPステータスを取得したときにbashスクリプトを終了する
いくつかのカールリクエストを実行するbashスクリプトの設定があります for currency in EUR INR JPY do curl -i --data '{"currency": "'$currency'"}' -H "Accept: application/json" -H "Content-Type: application/json" http://0.0.0.0:8080/price && echo done curl応答の1つがhttpステータス!= 200で戻ってきた場合にスクリプトを終了させる方法はありますか? また、標準のcurl出力を保持したいと考えています。たとえば、httpステータスコードのみを出力するソリューションは必要ありません。 乾杯

3
変数に保存されているコマンドを実行する
変数にコマンドを保存しています。変数$iに値があるとします。 cat -nT index.php |grep 'someregex' 上記の変数を入力$iして実行しようとすると、シェルが変数全体を1つのコマンドとして実行しようとするため、失敗します。私もバッククォートを使っeval($i)て入れてみ$iました。 $iコマンドのようにシェルを実行するにはどうすればよいですか?そしてなぜそれは同じように機能しないのですか? $i='echo hi'; $i それは私が一重引用符で一種のハックしなければならなかったからですか?(ネストできないため)現在のところ、私の解決策は echo $i > /foo; . /foo ただし、このためだけにファイルを作成するのではなく、後で削除するだけです。 「一重引用符でハッキングしたのは、私がしたことです。 $i='cat index.php | grep -P '"'"'MYREGEXHERE'"'"
11 linux  bash  shell 

8
別のディレクトリからスクリプトを実行する
たいていの場合、実行したいスクリプトが現在の作業ディレクトリにないため、そのままにしたくありません。 別のディレクトリからスクリプト(BASH、Perlなど)を実行することは良い習慣ですか?彼らは通常、適切に実行するために必要なすべてのものを見つけますか? もしそうなら、「遠い」スクリプトを実行する最良の方法は何ですか?それは...ですか . /path/to/script または sh /path/to/script そしてsudo、そのような場合の使い方は?たとえば、これは機能しません。 sudo . /path/to/script

1
二重引用符内ではawkは機能しません
このコマンドは機能しません: ssh $HOST "ls -l | awk '{print $1}'"` 上記はコマンドを無視しawkます。二重引用符が原因であると思いますか? また、awk内に二重引用符の別のセットを追加するにはどうすればよいですか? つまり: ssh $HOST "awk '{print $1 "*"}' /some_file" 私は引用符をエスケープしてみました、これも試しました: ssh $HOST "awk '{print $1 "\""*"\""}' /some_file" 成功なし。
11 linux  shell  awk 


1
Macの/ usr / binにシンボリックリンクを作成する方法
環境:OSX Sierra、Darwin Kernelバージョン16.3.0 根本的な問題:#!/ usr / bin / zshがある中央リポジトリで多数のシェルスクリプトを使用したい。私のMacでは、zshは/ bin / zshにあります。 解決策の試み:シンボリックリンクを作成したい ln -s /bin/zsh /usr/bin/zsh 私のユーザーアカウントには管理者権限がありますが、私はrootではないので、このMacでrootユーザーを有効にしたくありません。したがって、私は最初に sudo su root権限を持つシェルを取得してから、lnコマンドを実行します。ただし、それでもエラーメッセージln:/ usr / bin / zsh:Operation not allowedが表示されます。 質問: このエラーメッセージが表示されるのはなぜですか? リンクを作成するにはどうすればよいですか? 私の元の目標を達成するためのより良い方法はありますか?#を修正することに注意してください。linesはオプションではありません。
11 shell  sudo  symbolic-link  su  ln 


4
魚の設定に略語を追加
特に既知のbash変数または一般的なgitコマンドのエイリアスに対して、魚のシェルの略語機能を使用したいと思い!!ます。次のスニペットのように略語を追加できることを知っています。 abbr -a gco git checkout また、この設定はにあるファイルに保存されることも知っていますが.config/fish/fishd.host、このファイルは、変更が失われる可能性があるため(ファイルは自動生成されるため)編集しないように言っています。 私の質問は、ドットファイルをgitリポジトリに配置したいので、この省略形を設定ファイルに追加する方法です。そして、これらのドットファイルを別のマシンで使用する場合、これらすべてのabbrコマンドを再度実行したくないです。
10 shell  fish 


2
テキストファイルの内容をコマンドとしてtelnetに送る
コマンドtelnet docs.python.org 80を使用http://docs.python.org/2/license.htmlすると、実際のリクエストを入力することにより、に手動でHTTPリクエストを送信できます。 次に、ライブで入力する代わりに、テキストファイルからリクエストをフィードします。 私はこれを試しました: cat request.txt|telnet docs.python.org 80 request.txt: GET /2/license.html HTTP/1.1 Host: docs.python.org (ファイルを空白行で終了する必要があります。そうしないと、不正な要求が発生します!) しかし、サーバーへの接続はすぐに閉じられます。 どのように私は適切にパイプがなければならないrequest.txtにtelnet docs.python.org 80? 編集: 知っておくと便利です。のHEAD代わりにを使用するとGET、GETメッセージ本文を除いて、リクエストを行った場合と同じレスポンスが返されます。 したがって、HEADHTTPヘッダーだけを調べたい場合に使用します。(つまり、応答の内容がシェル出力を乱雑にしないようにするためです。)

1
どのようにしてBashのalt-periodの方向を逆転させることができますか?
Bashでは、Alt- .を押して前のコマンドの最後の引数を挿入できます。複数回押すと、履歴内のすべてのコマンドの最後の引数が順に表示されます。しかし、何度も押しすぎて、サイクリングの方向を逆にしたいので、先に進みます。これは可能ですか? (あなたが-I-検索を逆にあれば、すなわちCtrl- r、あなたが方向を変更することができますCtrl- s。のためのアナログは何ですかAlt- .?)


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