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

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

18
IPアドレスを逆読みする方法は?
この文字列(IPアドレス)がある場合:192.168.1.1 この文字列から(DNS逆レコードフォーム)を取得するにはどうすればよい1.1.168.192.in-addr.arpaですか?シェルスクリプトを使用するように表示されますか?

7
削除したディレクトリからcdする必要があるのはなぜですか?
私のサーバーには、次のようなディレクトリ構造があります。 /myproject/code 通常、サーバーへのssh接続があり、そのディレクトリに「スタンド」します。 root@machine:/myproject/code# コードの新しいバージョンをデプロイすると、コードディレクトリが削除されるため、次のようにします。 root@machine:/myproject/code# ./run -bash: ./run: No such file or directory そして、私が見つけた唯一の解決策は、CDを出し入れすることです: root@machine:/myproject/code# cd ../code root@machine:/myproject/code# ./run Running... これを回避できますか?それはやや奇妙な動作です。なぜこれが起こるのか、良い説明があれば感謝します。

3
シェルメタキャラクターとしての^の使用
今日私は含まれている小さなスクリプトを書きました grep -q ^local0 /etc/syslog.conf レビュー中、同僚は、Bourneシェルの「パイプ」を意味する^local0ため、引用することを提案し^ました。この主張に驚いて、私はこれに言及した参考文献を追跡しようとしました。インターネット上でこれが問題だと示唆するものはありませんでした。 ただし、bshAIX 7の(Bourneシェルであると主張する)の実装には、実際に次の動作があることがわかります。 > bsh $ ls ^ wc 23 23 183 $ ls | wc 23 23 183 私が試した他の「Bourneシェル」実装は、この方法で動作し^ませんでした(つまり、シェルメタキャラクターとはみなされません)。shCentOS(実際にはbash)とshFreeBSD(bashではない)で試しました。他に試すシステムはあまりありません。 この動作は予想されますか?どのシェル^がパイプメタキャラクターと見なされますか?

4
シェルプロンプトでUpを押すと、同じプレフィックスを持つ前のコマンドを検索します
FreeBSDの世界から来て、私は基本的にあなたが入力すると、FreeBSDの1、特に9.1バージョンのようなLinuxのターミナル振る舞いをしたいcdの端末で、矢印「アップ」を押して、あなたと歴史始めにすべてのコマンドを閲覧することができcdますせています多くの時間を稼ぎます。 Linux DebianやCentOSでこの機能を有効にして、全体を入力するように強制する方法がわかりません。誰か助けてください。

2
ヌル合体方式でのシェル変数の設定
私は、「ヌル合体」が本当に好きです。そこでは、変数を、物事のリストの最初の「非ヌル」値に設定できます。たとえば、多くの言語がこれをサポートしています。 C#: String myStr = string1 ?? string2 ?? "default"; JavaScript: var myStr = string1 || string2 || "default"; ...等。変数を設定するためにこれをBashで実行できるかどうか興味がありますか? 擬似: MY_STR=$ENV{VAR_NAME}??$ANOTHER_VAR??"default";
19 bash  shell  variable 

6
標準コマンドのエイリアスが推奨されないのはなぜですか?
たとえば、~/.bashrcファイル(または同等のもの)で見た一般的なエイリアスは alias rm='rm -i' しかし、私は人々がこれに対して推奨するのを見てきました エイリアスは別のシステムに存在しない可能性がありrm、で不注意になったため、重要なものをうっかり削除してしまいます。[1] このエイリアスを使用することにより、実質的にすべてのコマンドを入力yまたは実行するようにトレーニングします。yesrm これに対して推奨する他の理由はありますか?一部のプログラムは、のrm代わりにを呼び出すだけで\rm、それに対するエイリアスは問題を引き起こす可能性がありますか? 私が使用してrm単に一例として、私はのような他のコマンドを見てきましたcpかmvだけでなく、別名でカバー。個人的に、私はゆっくりとこのようなエイリアスを使用するように自分自身を訓練していますrm -i: alias trash=`mv -v -t $HOME/.Trash`

3
対話型シェルでパスの一部を削除する方法は?
パスの1つのコンポーネントを削除するためのショートカットがbashとzshにありますか?たとえば、を入力ls ~/local/color/し、カーソルが行末にある場合color/、末尾に削除するショートカットはありますか?理想的には、viモードとemacsモードの両方のソリューションが必要です
19 bash  shell  zsh 

5
シェルスクリプトで複数行のコマンドをコメントする方法は?
長いスイッチの多いコマンドを呼び出すときは、シェルスクリプトで記述することをお勧めします。そのようなスクリプトで行をコメントする簡単な方法はありますか?次の方法を試しましたが、どちらも機能しません。 # the \ is also commented out, resulting in "command" and "--good-switch". command \ #--bad-switch \ --good-switch \ # seems to send an extra argument to the command command \ \ #--bad-switch \ --good-switch
19 shell 

2
アプリケーションが$ PATHに存在するかどうかをテストするにはどうすればよいですか?
私は、可能な限りsh多くのDRYと多くの「すべての* nixで動作する」で動作するように、すべてのstartup / envスクリプトを記述しようとしています。これは、そこにないコードを実行しようとすると、コードが正常に失敗することを確認することを意味します。そのためには、プログラムが存在するかどうかをテストできる必要があります。ファイルが存在するかどうかをテストする方法は知っていますが、アプリケーションがパス内で実行可能であるかどうかをテストする方法はわかりません。これらの一部はarch、ubuntu、およびcentosで動作する必要があるため、$ PATHを使用します。rootを持たないシステムのhomedirにインストールされるものもあれば、インストールされないものもあれば、システムパスにインストールされるものもあります。

16
シンプルなコマンドライン計算機
問題: 時々、コマンドライン環境で簡単な算術演算を行う必要があります。EGは次の出力を与えました: Disk /dev/sdb: 256GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 106MB 105MB fat32 hidden, diag 2 106MB 64.1GB 64.0GB ext4 3 64.1GB 192GB 128GB ext4 5 236GB 256GB 20.0GB linux-swap(v1) パーティション3と5の間の未割り当て領域のサイズをコマンドラインで計算する簡単な方法は何ですか? 私がすでに試したこと: 紀元前 bc bc 1.06.95 …
19 shell  calculator 

4
一部のコマンドが標準入力から読み取れないのはなぜですか?
パイプラインをいつ使用すべきなのか、使用すべきでないのはいつだろうか。 たとえば、pdfファイルを処理する特定のプロセスを強制終了するには、パイプラインを使用しても以下は機能しません。 ps aux | grep pdf | awk '{print $2}'|kill 代わりに、次の方法でのみそれを行うことができます。 kill $(ps aux| grep pdf| awk '{print $2}') または ps aux | grep pdf | awk '{print $2}'| xargs kill man bash(バージョン4.1.2)によると: The standard output of command is connected via a pipe to the standard input of command2. …
19 shell  pipe  arguments  stdin 


3
Mac OS X:dircolorsが見つかりませんか?
Macbook Airに切り替えました。homebrewを使用してzshをインストールしましたが、(元々)で使用していたコードの一部を使用すると、.zshrcというエラーが表示され.dircolors was not foundます。 問題のコードは次のとおりです。 zstyle ':completion:*' auto-description 'specify: %d' zstyle ':completion:*' completer _expand _complete _correct _approximate zstyle ':completion:*' format 'Completing %d' zstyle ':completion:*' group-name '' zstyle ':completion:*' menu select=2 eval "$(dircolors -b)" zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} zstyle ':completion:*' list-colors '' zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for …
19 shell  osx  coreutils 


1
/ usr / bin / timeシェルコマンドで%e精度を上げる
シェルでtimeコマンドを実行するとtime ./myapp、次のような出力が得られます。 real 0m0.668s user 0m0.112s sys 0m0.028s ただし、コマンドを実行する\time -f %e ./myappと精度が失われ、次のようになります。 2.01s %Eコマンドを使用すると、同じように精度が失われます。さらに精度を上げるためにそれを変更するにはどうすればいいのですが、それでも秒が出力されるだけですか? 私はこのLinux / Unixコマンドに基づいて研究を行いました:時間とこの質問
19 shell  scripting  time 

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