Unix & Linux

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


3
「Hunk#1 FAILED at 1(異なる行末)」メッセージを修正する方法
コマンドでパッチを作成しようとしています git diff sourcefile >/var/lib/laymab/overlay/category/ebuild/files/thepatch.patch パッチを適用すると、 $ patch -v GNU patch 2.7.5 $ /usr/bin/patch -p1 </var/lib/laymab/overlay/category/ebuild/files/thepatch.patch patching file sourcefile Hunk #1 FAILED at 1 (different line endings). Hunk #2 FAILED at 23 (different line endings). Hunk #3 FAILED at 47 (different line endings). Hunk #4 FAILED at 65 (different line …
22 git  diff  newlines  patch 

1
一般的なTCPを使用するサービスには、/ etc / servicesにTCPエントリだけでなくUDPもあるのはなぜですか?
Goでネットワークプログラミングに関する本を読んでいます。章の1つでは、/ etc / servicesファイルを扱います。このファイルの調査中に気づいたのは、両方ともトランスポート層でTCPを使用するHTTPやSSHなどの特定の一般的なエントリに、UDPの2番目のエントリがあることです。たとえば、Ubuntu 14.04の場合: ubuntu@vm1:~$ grep ssh /etc/services ssh 22/tcp # SSH Remote Login Protocol ssh 22/udp ubuntu@vm1:~$ grep http /etc/services http 80/tcp www # WorldWideWeb HTTP http 80/udp # HyperText Transfer Protocol なぜこれらに2つのエントリがあるのか​​誰でも知っていますか?SSHやHTTPがUDPを使用するとは思わない(SSHのこの質問で確認された)。

2
POSIXは標準ユーティリティへのパスを保証しますか?
Cから、標準ユーティリティ(psなど)を実行する最も簡単な方法は何ですか? POSIXは、たとえば、標準psが存在することを保証していますか、/bin/psまたはPATH環境変数を取得した値にリセットしてから、PATH confstr(_CS_PATH, pathbuf, n);検索でユーティリティを実行する必要がありますか?
22 path  c  posix  exec 

2
なぜgitによって不必要に実行されるのが少ないのですか?
git branch(bashまたはcshから)実行すると、自動的に出力がパイプされますless。ただし、リポジトリ内のブランチが数個しかないため、これは不必要です。 ~/.gitconfigファイルとローカル.git/configファイルをチェックしても、ポケットベルなど、これを引き起こすものについては何も見つかりません。そうでなければ、ウェブ検索で私が見つけたものは何も役に立たないし、有望でもありません。 なぜこれが起こっているのですか?less必要なときに実行するために(もしあれば)何ができますか(たとえばgit log、多くの履歴があるときに実行する場合)、そうでない場合は実行できませんgit branchか?
22 git 

2
名前付きパイプは「mknod」によって作成され、FIFOは「mkfifo」によって作成されますか?
このmkfifo <file>コマンドを使用して名前付きFIFOを作成しました。1つのプロセスがファイルに書き込み、別のプロセスがファイルから読み取ります。 これで、mknodコマンドが名前付きパイプを作成できることがわかりました。これらの名前付きパイプは、によって作成されたFIFOと同等mkfifoですか、それとも異なる機能がありますか?
22 fifo 



3
等しくないという構文は重要ですか?
スクリプトを作成するとき、次に来ることは真実ではないことを理解しやすいため、通常は次の構文でifを記述します。 if [ ! "$1" = "$2" ]; then 他の人は、以下の方法が良いと言います if [ "$1" != "$2" ]; then 問題は、理由と違いがあるかどうかを尋ねたとき、誰も答えていないようです。 では、2つの構文に違いはありますか?それらの1つは他より安全ですか?それとも単に好み/習慣の問題ですか?
22 shell  test 


3
このスクリプトは、それ自体の1つのインスタンスのみが実行されていることをどのように確認しますか?
2013年8月19日に、Randal L. Schwartzはこのシェルスクリプトを投稿しました。これは、Linux上で、「[スクリプト]の1つのインスタンスのみが実行され、競合状態やロックファイルのクリーンアップなし」を保証することを目的としています: #!/bin/sh # randal_l_schwartz_001.sh ( if ! flock -n -x 0 then echo "$$ cannot get flock" exit 0 fi echo "$$ start" sleep 10 # for testing. put the real task here echo "$$ end" ) < $0 宣伝どおりに動作するようです: $ ./randal_l_schwartz_001.sh & ./randal_l_schwartz_001.sh [1] 11863 11863 start …

3
Bashで起こりうるバグ?:foo(){echo“ $ {var [0]}”; }; var =(bar baz)foo
OS:Ubuntu 16.04.3 シェル:Bash 4.3.48 のように変数の内容を一時的に変更することが可能であることを知っています。var=value commandおそらくこれIFS= read -r varが最も顕著なケースです。 そして、グレッグのウィキのおかげで、私も理解しています: # Why this foo() { echo "$var"; } var=value foo # And this does work var=value; echo "$var" # But this doesn't var=value echo "$var" 私の理解を逃れるのはこれです: $ foo() { echo "${var[0]}"; } $ var=(bar baz) foo (bar baz) 私の知る限り(そして前の例のロジックに従って)、印刷すべきであり、ではbarありません(bar baz)。 …
22 bash  array 

2
ゼロ以外のコードで終了する私の端末のコマンドは、端末ウィンドウを閉じます
最初は「バッシュルーレット」をプレイするように少し面白かったのですが... ゼロ以外のコードで終了する私の端末のコマンドは、端末ウィンドウを閉じます おそらくset -e、端末のソースをどこかにbashスクリプトで設定したと言われました。 .bash_profile/ .bashrc/ .profileを確認しましたset -eが、そこにあるようには見えません。 他に明らかな犯人はいますか?



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