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

他のBourne / POSIXシェルとは対照的に、GNUのBourne Again SHellに固有の質問。Unixシェル全般に関する質問については、代わりに/ shellタグを使用してください。


5
bashの感嘆符(!)を理解する
私は使った history | less 前のコマンドの行を取得し、左側の数字から、繰り返したい行を見つけました(例:22) !22 コマンドプロンプトで動作し、そのときに実行した行で一連のコマンドを実行しました。感嘆符が使用されている場所、bashによって実行されるアクションの観点でそれが何を表しているのか、どこで使用するのかはわかりません。ドキュメントからは、「具体的な」説明は表示されません。

5
特定のサイズのファイルを生成しますか?
という名前のファイルを生成したいと思いますexample.file。使える touch example.file しかし、ファイルのサイズを正確に24MBにしたいのです。私はすでにタッチのマンページをチェックしましたが、このようなパラメーターはありません。特定のサイズのファイルを簡単に生成する方法はありますか?
106 bash  command-line  files 


2
cron内から出力をファイルにリダイレクトする方法は?
私は一日の特定の時間に実行する必要があるバックアップスクリプトを持っているので、私はcronこのタスクに使用しており、cron内からバックアップスクリプトの出力をlogfile。 crontab -e */1 * * * * /home/ranveer/backup.sh &>> /home/ranveer/backup.log 上記のcronエントリでは、両方stderr and stdoutをログファイルにリダイレクトしています。 上記のcronジョブはsyslog 、backup.shファイルに従って指定されたタスクに従って正常に実行されますが、ログファイルには何も書き込みません。 /var/log/syslog Oct 19 20:26:01 ranveer CRON[15214]: (ranveer) CMD (/home/ranveer/backup.sh &>> /home/ranveer/backup.log) CLIからスクリプトを実行すると、必要に応じて機能し、出力がログファイルに書き込まれます ranveer@ranveer:~$ ./backup.sh &>> backup.log ranveer@ranveer:~$ cat backup.log Fri Oct 19 20:28:01 IST 2012 successfully copied testdir test.txt successfully copied ------------------------------------------------------------------------------------- ranveer@ranveer:~$ だから、ファイルの出力がcron内からファイルにリダイレクトされないのはなぜですか。


3
一時データ用の疑似ファイル
比較的短い文字列データ(ただし、数行になる可能性があります)を、ファイル(wdiffなど)からの入力のみを繰り返し受け入れるコマンドラインプログラムに送りたいことがよくあります。確かに、1つまたは複数の一時ファイルを作成し、そこに文字列を保存して、ファイル名をパラメーターとしてコマンドを実行できます。しかし、データが実際にディスクに書き込まれる場合、この手順は非常に非効率的であり、この手順を何度も繰り返すと、必要以上にディスクに損害を与える可能性があるように見えます。 wdiffへのファイル。これを回避する推奨方法はありますか?たとえば、パイプなどの擬似ファイルを使用して、実際にディスクにデータを書き込むことなく一時的にデータを保存します(または、クリティカルな長さを超える場合にのみデータを書き込みます)。wdiffは2つの引数を取り、wdiff <"text"。
97 bash  files  pipe 

3
最後のコマンドのすべてのインスタンスに対する^ x ^ y unixトリック?
私のお気に入りのUnixのトリックの1つは、^x^y最後のコマンドを受け取り、「x」の最初のインスタンスを「y」に置き換えることです。しかし、最後のコマンドで「x」のすべてのインスタンスを「y」に置き換えるために同様のトリックが機能するかどうか疑問に思っていますか?

10
何かをチェックしている間、ハーフタイプのコマンドを覚えておいてください
私はしばしば次の位置にいます:bashプロンプトで長いコマンドを入力し始めましたが、途中で別のコマンドで何かを確認する必要があることがわかりました。これは、コンソール(Xなし)にいるときの問題です。これはよくあることです。なぜなら、次のような不十分な方法しか持っていないからです。 ヒットctrl+ alt+ F2戻っていき、その後、別の仮想コンソールにログインして、私が望んでいたものを見つけます ctrl+ a、echo + space+と入力してenter、必要なもの↑を見つけ、コマンドが見つかるまで押しますctrl+ a、delx 5、ctrl+ e、そして続行 マウスでこれまでに入力した内容をハイライトし(gpmが実行されている場合、通常)、中断するにはctrl+ cを押し、マウスを使ってハイライト表示しないように注意しながら必要なものを見つけ、マウスの中ボタンを押します新しいプロンプトで続行します コマンドラインの神に祈ります。半分書かれたコマンドは悪影響を及ぼさず、単に失敗するだけで、Enterキーを軽く押してから、必要なものを見つけ、コマンドが返されるまで上矢印キーを押して続行します。 タイムマシンにジャンプして、時間をさかのぼり、コマンドを入力する前に画面を開始するように思い出させ、現在に戻り、ctrl+を押してa c、必要なものを見つけ、ctrl+を押してa ctrl+a続行します 私が知りたいのは、これを行うためのよりエレガントな方法がありますか?一種のサブシェルコマンドまたは類似のもの? 私は、動作するための準備やセットアップを必要としない方法に最も興味があります。
97 bash  command-line  zsh 

5
「関数foo(){}」と「foo(){}」の違い
キーワードbashを使用または省略して、関数を定義できますfunction。違いはありますか? #!/bin/bash function foo() { echo "foo" } bar() { echo "bar" } foo bar 関数の呼び出しfooとbar成功の両方で、違いは見当たりません。だから、読みやすさを改善するだけなのか、それとも私が見逃しているものがあるのか​​疑問に思っています... BTW dash(debian / ubuntuに/bin/shシンボリックリンクさdashれています)などの他のシェルでは、functionキーワードを使用すると失敗します。
96 bash  shell  function  posix 

5
bashの履歴はどこに保存されますか?
を実行するhistoryと、最新の実行コマンドが表示されます。 しかし、私がやったtail -f $HISTFILE場合tail -f ~/.bash_history、それらはリストされません。 ファイルはロックされますか、一時的な場所などがありますか?

2
括弧は本当にコマンドをサブシェルに入れますか?
私が読んだことから、コマンドを括弧で囲むと、スクリプトを実行するのと同様に、サブシェルで実行されるはずです。これが当てはまる場合、xがエクスポートされていない場合、変数xはどのように見えますか? x=1 (echo $x)コマンドラインで実行すると1になります echo $x期待どおり、スクリプトで実行しても何も起こりません


18
単一のコマンドで数値のリストの最小、最大、中央値、平均を取得する方法はありますか?
ファイルには、1行に1つずつ番号のリストがあります。最小値、最大値、中央値、平均値を取得するにはどうすればよいですか?結果をbashスクリプトで使用したい。 私の当面の状況は整数の場合ですが、浮動小数点数の解決策は将来的には有用ですが、単純な整数法で十分です。
93 bash  awk  arithmetic  bc 

6
ターミナルの履歴をクリアするにはどうすればよいですか?
私は約2日間Linux Mint 17.1 Rebeccaを使用しており、誤ってパスワードを端末に入力しました。これは、以前に入力したコマンドの履歴リストに表示されます。 ターミナルの履歴を完全にクリアしたい。私は端末で次のコマンドを使用してみましたが、これは履歴を永久にクリアすると思っていましたが、そうではありません: history -c reset tput reset 上記のコマンドは端末から履歴を「消去」しますが、終了して新しい履歴を表示すると、以前の履歴がすべて残っており、-historyコマンドを使用してキーボードのUP矢印を押すことですべてを再度一覧表示できます。履歴を完全にクリアするまでこれを実行したくないので、引き続き使用します。 どうすれば端末の履歴を完全にクリアできますか? 注:履歴を保存せずにターミナルを終了したくないのは、この1つのインスタンスで永久にクリアするだけです。

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