Unix & Linux

Linux、FreeBSDおよび他のUn * xのようなオペレーティングシステムのユーザーのためのQ&A

2
バッシュでローカル変数をインクリメントする方法は?
データ 1 \begin{document} 3 コード #!/bin/bash function getStart { local START="$(awk '/begin\{document\}/{ print NR; exit }' data.tex)" echo $START } START2=$(getStart) echo $START2 戻ります2が欲しいです3。私はbashスクリプトに数値を追加するにはどうすればよいかについてのこの答えによって失敗に終わりました: START2=$((getStart+1)) Bashスクリプトでローカル変数をインクリメントするにはどうすればよいですか?

1
bashタブ補完は、「〜」を「/ home / ___」に展開します
以前は、と入力すると~/biTab、に変わり~/binます。しかし、今日ではに変わり始め~/biTabました/home/username/bin。 前者にしたいのですが、何が起こったのかわかりません... bashの完了を編集するスクリプトを追加しましたが、それを削除~./bashrcしてサーバーを再起動しました。 誰がこれが起こる原因を知っていますか?または、元に戻すにはどうすればよいですか? 編集 だから私はこれを引き起こすかもしれないものを見つけました...それが関係していること、/etc/bash_completionそしてそのようなもの。するとbind -v、チルダの展開がオフになります。 したがって、これを編集すると(ハッキングのようなもの)消えると思います。しかし、それは本当に何も満足していません-この変化はそもそもどうして起こったのでしょうか?として何も実行したことはなくsudo、複数回シャットダウンして再起動した後もこの動作は続きます。


2
Bashの単語にエイリアス、関数、ファイルなどを強制的に参照させる方法は?
関連する質問にもう少し詳細を追加しようとすると、どのBashワードタイプを実行するかを指定する方法がわからないことに気付きました。によるとhelp type、5つの単語タイプがあります: エイリアス キーワード 関数 ビルトイン ファイル 単語にはいくつかのタイプがある可能性があります(true単なる例です。より一般的にオーバーライドされる単語はになりますcd)。 $ type -a true true is a shell builtin true is /bin/true 特定の同義語の実行をどのように強制しますか?これまでのところ、優先順位の順に: 別名:他のすべての同義語よりも優先されるため、これは特殊なケースです。これを強制することは、エイリアスが定義されていない場合にコマンドが失敗する場合にのみ役立ちます。 $ キーワード: $ 関数: $ ビルトイン: $ builtin true ファイル: $ command true $ $(which true) $ /bin/true 部分的な解決策: 単語を引用すると、エイリアスとキーワードは除外されます。あれは、 $ 'true' 関数、組み込み関数、またはファイルのみを実行します。
13 bash 

4
名前だけで実行可能ファイルを実行することと、その前にドット/スラッシュを追加することの違いは何ですか?
これはls -allコマンドからの出力です: -rwxr----- 1 subhrcho dba 3600 Nov 13 17:26 jdev -rw-r----- 1 subhrcho dba 1566 Nov 13 17:26 jdev-Darwin.conf -rw-r----- 1 subhrcho dba 347 Mar 6 2009 jdev-debug.boot -rw-r----- 1 subhrcho dba 821 Nov 13 17:26 jdev-logging-debug.conf -rw-r----- 1 subhrcho dba 584 Nov 13 17:26 jdev-logging.conf -rw-r----- 1 subhrcho …
13 process  command 


4
X11ライブラリなしでYUMを使用してemacsをインストールする方法は?
VirtualBox VM内にCentOS 6.3の最小インストールをインストールしました。ここで、コマンドラインからのみ使用できるようにEmacsをインストールします。 yum search emacs唯一のアプリケーションレベルパッケージを使用してemacsを検索すると、「emacs」と思われるため、実行するyum install emacsと、ダウンロードする依存関係のリストが表示されます。 これらの依存関係libcairo、libasoundとのトンlibX*これがために、開発者のマシンごとに10回クローニングされますので、何のビジネスを持っていないパッケージはコマンドラインからのみ使用されるのEmacsのコピーのためにダウンロードおよびインストールされている(私はこの最小限を維持しようとしていますネットワークシミュレーションが、テキストエディターが本当に必要です)。 だから、すべてのグラフィカル関連パッケージがインストールされないように設定するフラグがありますか?Gentooのemergeにそのようなパラメータがあったことを覚えていますか、それとも間違ったパッケージをインストールしていますか?

1
upstartとSupervisordは同じものに使用されますか?
jvmベースのプロセスがいくつかあり、サーバーを再起動するたびに起動する必要があります。また、予期しないエラーなどが原因で停止する場合もあります。 問題に備えてUbuntu 12.04を実行しています。 サンプルのスタートアップスクリプトを見てきましたが、私はそのように傾いていますが、スタートアップやスーパーバイザーのようなものとの違いを理解したいと思います。 それらはまったく同じ目的で使用されていますか、または機能に違いがありますか?


4
すべてのデフォルトゲートウェイを削除する方法
カスタムビルドのLinuxマシンを実行しているため、すべてのLinuxコマンドが使用できるわけではありません。 ネットワーク関連のコマンドを実行するため、デフォルトゲートウェイを設定する必要があります直前に、その後すぐにそのゲートウェイを削除する。 そのためには、すべてのコマンドを1行で実行します。 /sbin/route add default gw 10.10.10.10;my command;/sbin/route del default gw 10.10.10.10; 問題は、何らかの理由で、同じマシン上で2つのデフォルトゲートウェイを見つけたため、すべてのコマンドが失敗する原因になったためです。 それで、1つのコマンドですべてのデフォルトゲートウェイを削除する方法はありますか?増加している大量のマシンがあり、すべてのマシンにスクリプトを植えることは実用的ではありません。次のような単純なコマンドが必要です。 /sbin/route del all default;set my default gw;mycommand;/sbin/route del all default; 私がこれまでに発見したすべて削除するコマンドであるすべてではなく、それらのデフォルトゲートウェイを 私のために動作しませんています。/sbin/route del default /sbin/route ヘルプは次を表示します /sbin/route --help Usage: route [{add|del|delete}] Edit the kernel's routing tables Options: -n Don't resolve names -e Display other/more information …
13 linux  ip  routing 


5
特定の文字列に一致する履歴のコマンドを削除するにはどうすればよいですか?
文字列に一致する履歴内のすべてのコマンドを削除する必要があります。私はもう試した: $ history | grep searchstring | cut -d" " -f2 | history -d -bash: history: -d: option requires an argument $ history | grep searchstring | cut -d" " -f2 | xargs history -d xargs: history: No such file or directory $ temparg() { while read i; do "$@" …

2
iptables --set-mark-異なるインターフェースを介して異なるポートをルーティングする
短編、 3つのインターフェイス、eth0(LAN)、eth1(ADSL)、eth2(4G)。 eth0-> eth1:動作 (ポート80、443、4070)eth0-> eth2:発生しません これは、アイデアのグラフィカルな表現です。 eth2経由のポート80および443、および eth1経由の残りのポート Netscheme: eth0: -ip 10.0.0.1 -net 10.0.0.0/8 -gw 10.0.0.1 (the servers own intf) eth1: -ip 192.168.1.74 -net 192.168.1.0/24 -gw 192.168.1.254 eth2: -ip 192.168.1.91 -net 192.168.0.0/24 -gw 192.168.0.1 この新しいスクリプトは、22と4070を適切なテーブルに転送します。 ただし、そのテーブルに到達した後、eth2に再ルーティングされません。 このスクリプトは、22と4070を除いて機能します! (ポート80はコメント化されておらず動作しますが、間違っているeth1を介して動作します。) modprobe iptable_nat modprobe ip_conntrack echo "1" > /proc/sys/net/ipv4/ip_forward iptables -P INPUT …

1
SSHが/ etc / hostsを参照しないのはなぜですか?
ユーザーがNISを介して認証するネットワーク環境を管理しています。1つを除き、すべてのマシンを使用してサーバーにSSH接続できます。問題のマシンで、メッセージが表示されます ssh: connect to host servername port 22: Connection refused strace問題のマシンとサーバーに正しくSSH接続できるマシンからの出力を比較しました。 サーバーにSSHで接続できない/etc/hostsマシンは、正しくSSHで接続できるマシンはコンサルトしているのに対して、コンサルトしていません。両方のマシンが/etc/hostsサーバーの名前とIPでセットアップされています。最終的に、問い合わせないマシンは(localhost)/etc/hostsへの接続を 127.0.0.1試行し、上記のメッセージで失敗します。これは何が原因ですか? 追加情報: 私がSSHしようとしているサーバーはネームサーバーとしても機能し、両方のマシンはSSHしようとしている間にそれを調べます。 サーバーにSSHで接続できないマシンは、他のマシンに正しくSSHで接続できます ssh machinename 。straceログは、マシンがネームサーバーを調べ(今回は正常に)、リモートマシン名を正しく解決して接続することを管理していることを示しています。 編集:この問題の解決に役立つと思われる追加情報を喜んで提供します。
13 ssh  hosts 


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