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

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

2
POSIX準拠のシェルでパスワードを要求しますか?
bashスクリプトでパスワードを要求したいときは、次のようにします。 read -s ...しかしbash、POSIXモードで実行するとsh、-sオプションは拒否されます: $ read -s sh: 1: read: Illegal option -s POSIX準拠のコマンドを使用して入力を安全に要求するにはどうすればよいですか?

4
パイプの隣のスペース
私が見たhistory | grep blahとhistory |grep blah; そしてhistory|grep blah誰もそれを使用するようだけれどもまた、動作します。 スペースに意味はありますか(例:異なるコマンドへの/からのパイプにはスペースの異なる使用が必要です)、またはそれは常に任意ですか?
17 bash  shell  pipe 

1
特定の深さのサブフォルダーで再帰的にrsync
私がしたいrsync再帰的にフォルダだけが特定の深さに含まれるサブフォルダをしたいです。 たとえば、次のように1、2、3、または4つのサブフォルダーの深さが必要です。 source/ ├── subfolder 1 │ ├── subsubfolder │ │ ├── subsubsubfolder │ │ │ └── wanted with depth 4.txt │ │ └── wanted with depth 3.txt │ └── wanted with depth 2.txt ├── subfolder 2 │ └── wanted with depth 2.txt └── wanted with depth 1.txt

1
シェル算術評価で非サニタイズデータを使用することのセキュリティへの影響
最近の質問へのコメントで、StéphaneChazelasは、二重カッコ算術には次のようなセキュリティの影響があると述べています。 x=$((1-$x)) ほとんどのシェルで。 私のGoogleスキルは錆びているようで、何も見つかりません。二重括弧演算のセキュリティ上の意味は何ですか?

4
cat x >> xがループするのはなぜですか?
次のbashコマンドは無限ループに入ります。 $ echo hi > x $ cat x >> x stdoutへの書き込みを開始catしたx後から読み続けていると推測できます。ただし、混乱を招くのは、私自身のcatのテスト実装が異なる動作を示すことです。 // mycat.c #include <stdio.h> int main(int argc, char **argv) { FILE *f = fopen(argv[1], "rb"); char buf[4096]; int num_read; while ((num_read = fread(buf, 1, 4096, f))) { fwrite(buf, 1, num_read, stdout); fflush(stdout); } return 0; } 私が実行した場合: $ …

3
shスクリプトの実行:実行可能ビットとルート権限にもかかわらず、«許可が拒否されました»
DebianをVirtualBoxにインストールし(通常はシステムを破壊するさまざまな実験のために)、VirtualBoxゲストアドオンスクリプトを起動しようとしました。rootとしてログインして起動しようとしましたがautorun.sh、«Permission denied»になりました。ls -lスクリプトに実行権があることを示しています。 申し訳ありませんが、出力をコピーすることはできません-VirtualBoxはアドオンなしではまったく役に立ちません。共有ディレクトリも共有クリップボードも機能しないからです。しかし、念のため、私は手で権利をコピーしました。 #ls -l ./autorun.sh -r-xr-xr-x 1 root root 6966 Mar 26 13:56 ./autorun.sh 最初は、スクリプトがエラーを発生させた何かを実行しているのではないかと考えました。の/bin/shようなものに置き換えようとしました#/pathtorealsh/sh -xvが、出力がありませんでした。スクリプトを実行することさえできないようです。 何がそれを引き起こすのかさえ私には分かりません。

2
MOTDで色を使用するにはどうすればよいですか?
デフォルト/etc/update-motd.d/00-headerを編集し、読みやすくするために色を追加しました: printf "Welcome to \e[1;34m%s\e[0m \e[2m(%s %s %s)\e[0m\n" "$DISTRIB_DESCRIPTION" "$(uname -o)" "$(uname -r)" "$(uname -m)" ターミナルでそのコード行を問題なく実行できますが00-header、この情報で編集すると、エスケープコードがプレーンテキストで出力されます。 Welcome to \e[1;36mUbuntu 13.10\e[0m \e[2m(GNU/Linux 3.11.0-23-generic i686)\e[0m その日のメッセージに色のしぶきを追加するにはどうすればよいですか?
17 shell  ubuntu  colors  motd 

4
シェルスクリプトを実行するときに、rootとしてログインするようユーザーに要求する
私が得ている問題は、コマンドを入力すると、 su - root シェルスクリプトファイルの先頭で、ユーザーにパスワードを入力するように要求しますが、残りのシェルスクリプトは続行しません。次に、ターミナルを介してシェルスクリプトを手動で見つけて実行する必要があります。ユーザーがrootとしてログインすることを確認してから、残りのシェルスクリプトを続行するスクリプトが必要です。 つまり、スクリプトを任意のユーザーとして実行したいのですが、スクリプトの実行が開始されたらすぐに、ユーザーはrootに変更し、それが完了するまでスクリプトの残りをrootとして続行する必要があります。これはできますか?

2
引数として指定されたファイルからデータを読み取ることを期待するプログラムにデータをストリーミングするにはどうすればよいですか?
gzipで圧縮された巨大なファイルがあり、プログラム(この場合は4s-import)で読み取りたい。最初にファイルを解凍し、次にファイルへのパスを引数としてプログラムを呼び出すには、多くの時間がかかります。次のようなことをすることは可能でしょうか? zcat huge.gz | 4s-import <SOME MAGIC> SOME-MAGICは、stdinを含む抽象ファイルへのパスのようなものですか? 私がしなければならない非常に遅くてディスクスペースを消費する代替手段は次のとおりです: zcat huge.gz > huger 4s-import huger

3
小なり記号がbashのcatの代わりとして機能しないのはなぜですか?
「猫の無駄な使用」について聞いたところ、いくつかの提案が見つかりましたが、次の例ではbashシェルに何も出力されません。 < filename ただし、catを使用しても正常に機能します。 cat filename Fedora Core 18とGNU bashバージョン4.2.45(1)を使用しています。 編集:パイプの前でそれを使用しても動作しません。 < filename | grep pattern 一方、catを使用しても期待どおりに機能します。 cat filename | grep pattern EDIT2:明確にするために、私はこれを使用できることを知っています grep pattern < filename しかし、ここで/programming/11710552/useless-use-of-catを読み、コマンドの前で使用することもできます。ただし、コマンドの前では機能しません。


2
xargs:複数のコマンドで同じ引数を使用
df -hパーティションの1つが(ほぼ)スペース不足になったときに出力をプローブして警告できるワンライナーを作成しようとしています。xargsを使用している部分が、今私を尻に蹴りつけています... echo 95 | xargs -n1 -I{} [ {} -ge 95 ] && echo "No Space on disk {}% full -- remove old backups please" 2番目の{}も「95」と表示するにはどうすればよいですか?



6
非対話型シェルでスクリプトを実行しますか?
スクリプトを実行しているcronジョブがあります。対話型シェル(bashに切り替えられた)を介してスクリプトを実行すると、正常に動作します。スクリプトがcronを介して単独で実行されると、失敗します。 私の推測では、対話型シェルで設定された環境変数の一部を使用していると思われます。スクリプトのトラブルシューティングを行い、これらを削除します。 変更を加えた後、cronでスクリプトをキューに入れて通常どおりに実行できることを知っていますが、コマンドラインからスクリプトを実行する方法はありますが、cronから実行するように指示する方法はありますか?すなわち、非インタラクティブな環境で?

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