Unix & Linux

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

2
「ローカル」に終了コードをキャプチャさせる方法は?
私のプロジェクトには次のスニペットがあります: local output="$(bash "${1##*/}")" echo "$?" これにより、常に0が出力されますlocalが、削除するlocalと、$?変数が正しく動作します。これは、サブシェルからの終了コードを想定しています。 私の質問は、終了値をキャプチャしながら、この変数をローカルに保つにはどうすればよいですか?

1
ファイルをリロードするときにokularをフラッシュしないようにすることは可能ですか?
TeXドキュメントを書いているとき、ソースファイルが変更されるとすぐに(latexmkを使用して)セットアップを使用して* .texファイルを自動的にPDFに再コンパイルします。そのため、私は画面の片側にnvimを備えた端末を置き、画面の反対側にpdf出力を備えたokularを配置しました。 迷惑なことは、PDFが更新されるたびにOkularが点滅/点滅することです。これは、用語集+参照+索引があるときに特に顕著です。Okularは、*。texソースの変更内容に応じて3〜5回点滅します。この点滅動作を無効にする方法はありますか?
11 okular 

3
ubuntu 14.04から16.04にアップグレードした後、DNS解決はありません
ubuntu 14.04をubuntu 16.04にアップグレードしましたが、インターネット接続に問題があります。具体的には、更新後のDNSが機能しなくなりました。デバッグ目的で、唯一のDNSを設定しました8.8.8.8が、名前解決はまだ機能しません。の出力nmcli device show wlan1 | grep IP4は次のとおりです。 pc@pc:~$ nmcli device show wlan1 | grep IP4 IP4.ADDRESS[1]: 192.168.1.3/24 IP4.GATEWAY: 192.168.1.1 IP4.ROUTE[1]: dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000 IP4.DNS[1]: 8.8.8.8 The output from dig @8.8.8.8 google.com and dig google.com: dig @8.8.8.8 google.com ; <<>> DiG 9.10.3-P4-Ubuntu <<>> …
11 ubuntu  dns  upgrade  internet 


8
一時ファイルを使用せずに、出力の最初のN行を最後まで移動します
次のようなコマンドの出力を想像してください 44444 55555 11111 22222 33333 最初のN行(上記の例では最初の2行)をヤンクして、最後にそれらを追加できますが、一時ファイルを使用せずに(パイプのみを使用して)どうすればよいですか? 11111 22222 33333 44444 55555 線に沿って何かが| sed -n '3,5p;1,2p'(コマンドの順序を気にしませんsedのようこれは明らかに動作しません)。

3
BunsenLabs(Debian derrivative)はシャットダウンしません(poweroff.targetの開始に失敗しました:トランザクションは破壊的です)
BunsenLabs GNU / Linux(Debianベース)の奇妙な動作に遭遇しました。 OSをオフにできないことがあります。sudo poweroffGUI を使用するかGUI を使用するかは関係ありません。 これは私が実行した後に得られるものですsudo poweroff: Failed to start poweroff.target: Transaction is destructive 回避策はありますか?なぜそれが起こっているのですか? これが私の内容です/lib/udev/rules.d/70-power-switch.rules: ACTION=="remove", GOTO="power_switch_end" SUBSYSTEM=="input", KERNEL=="event*", SUBSYSTEMS=="acpi", TAG+="power-switch" SUBSYSTEM=="input", KERNEL=="event*", KERNELS=="thinkpad_acpi", TAG+="power-switch" LABEL="power_switch_end"


1
`-`で` -a`または `-o`演算子を使用しないでください
StéphaneChazelasが書いた: いくつかのルール 常に変数を引用する -aor -o演算子を使用しないでください(いくつかの[コマンドと&&andおよび||shell演算子を使用します) 作る[POSIXシェルで信頼性の高いです。 なぜ「-aまたは-o演算子を使用しない」のですか? 「いくつかの[コマンドと&&andおよび||shell演算子を使用する」にはどうすればよいですか?
11 bash  shell  test 

2
ファイル内の各文字の(数値)ASCII値を出力するにはどうすればよいですか?
各文字のASCII数値をテキストファイルに出力する方法を教えてください。と同様catですが、ASCII値のみを表示しています...(16進数または10進数で問題ありません)。 Apple(改行付き)という単語を含むファイルの出力例は次のようになります。 065 112 112 108 101 013 004
11 linux  bash  sed  awk  terminal 

3
ファイルを削除しますが、シンボリックリンクの場合のみ
理想的にはこのようなコマンドが欲しい rm --only-if-symlink link-to-file ファイルを指すシンボリックリンクではなく、誤ってファイルを削除して何度も火傷したためです。これは、sudoが関係する場合に特に悪い場合があります。もちろん、ls -al実際にシンボリックリンクなどであることを確認するためにa を実行しますが、これはオペレーターのエラー(同じ名前のファイル、タイプミスなど)と競合状態(誰かが何らかの理由でファイルを削除したい場合)に対して脆弱です。ファイルがシンボリックリンクかどうかを確認し、1つのコマンド内にある場合にのみ削除する方法はありますか?
11 bash  command-line  rm 

3
sshクライアントの引数の後に対話型プログラムが続く場合、sshdは疑似端末を使用しないのはなぜですか?
SSHサーバーに接続する通常の方法はssh username@ip_addressです。しかし、ユーザーはリモートマシンでプログラムを実行したいだけかもしれません。したがって、プログラム名は、通常の引数の後に続きますssh username@ip_address <program_name>。たとえば、ssh username@ip_address ls。対話型プログラム(ユーザー入力も受け入れ、出力も提供する)を除いて、その引数は問題ありませんtop。出力は TERM環境変数が設定されていません。 つまり、sshdとtopプログラムの間に(疑似)端末が接続されていません。解決策は-t、コマンド全体がになる引数を追加することssh -t username@ip_address topです。 私の質問は、なぜデフォルトではsshdも疑似端末を使用して非対話型プログラムと通信できない-tため、対話型プログラムの引数を追加する必要がないのですか?
11 ssh  pty 

2
awkメモリーリーク?
これに基づいて、コマンドを実行しています < /dev/urandom hexdump -v -e '/1 "%u\n"' | awk '{ split("0,2,4,5,7,9,11,12",a,","); for (i = 0; i < 1; i+= 0.0001) printf("%08X\n", 100*sin(1382*exp((a[$1 % 8]/12)*log(2))*i)) }' | xxd -r -p | sox -traw -r44100 -b16 -e unsigned-integer - -tcoreaudio このコマンドの実行中、awkが使用するメモリは継続的に増加します。たとえば、生のオーディオデータ75MBが再生されるまでに500MBを超えるメモリを消費します。パイプライン内の他のすべてのコマンドは、一定量のメモリを維持します。 awkがこのメモリを使用しているのは何ですか?意図されたストリーム処理を一定量のメモリのみを使用して行う代替策はありますか? awkバージョンが重要な場合: ⑆ awk --version awk version 20070501 トーマスディッキーの答えに基づいてテストしたコマンドは次のとおりです。 < …
11 awk  osx  memory 

3
コマンドのbashスクリプトの一時的な値
以下のコマンドのように、 if true; then IFS=":" read a b c d e f <<< "$test" 本は、IFS ":"メインコマンド(read a b c d e f <<< "$value")の前に値割り当てコマンド()を使用すると、その値が一時的にメインコマンドで有効になると述べています。したがって、readコマンドは区切り文字を使用します:。 しかし、このコマンドのように、 if true; then HOME="hello" echo "$HOME" エコーメッセージはhelloではありません。上記のコマンドの本当の意味は何ですか?


2
サブシェルは子シェルと同じです
この2つの名前があります。サブシェルと子シェルです。 はい、子プロセスは次のいずれかによって開始されます: sh -c 'echo "Hello"' ( echo "hello" ) echo "$(echo "hello") echo "hello" | cat すべて同等で、同じ名前を共有していますか?すべて同じプロパティを共有していますか? POSIXには次の定義があります。 シェル実行環境は...で構成されています。 しかし、上記のリンクの最後の段落にはこれがあります: サブシェル環境は、無視されないシグナルトラップがデフォルトのアクションに設定されることを除いて、シェル環境の複製として作成されます。 そして特に: コマンド置換、括弧でグループ化されたコマンド、および非同期リストは、サブシェル環境で実行されます。さらに、マルチコマンドパイプラインの各コマンドはサブシェル環境にあります。.... sh -c 'echo "Hello"'そこに含まれていない、それもサブシェルと呼ばれるべき?

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