Unix & Linux

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


7
「1行目:$ ':\ r':コマンドが見つかりません」と表示されるのはなぜですか?
ラップトップ(DOS)でCygwinを使用しました。私は同僚のスクリプトのコレクションと自分のスクリプトを持っています。私はITの専門家ではなく、Unixに精通していません。私は同僚の構文に従い、いくつかの簡単なことを管理できます。 スクリプトは私の古いラップトップでうまく機能しました。ラップトップを交換し、Cygwinをインストールしました。スクリプトを実行すると、スクリプトが機能しません。ここに私が得るエラーメッセージの一例があります: line 1: $':\r': command not found line 5: syntax error near unexpected token `$'\r'' line 5: `fi これが私のスクリプトの上位5行です : iter=1 if [ -f iter.txt ] then rm ./iter.txt fi 誰かがこの問題を回避する方法を説明してくれませんか?

2
BashとZsh以外のシェルはANSI-Cクォートをサポートしていますか?例:$ 'string'
出力に緑色のチェックマークを出力するために次を使用するシェルスクリプトがあります。 col_green="\e[32;01m" col_reset="\e[39;49;00m" echo -e "Done ${col_green}✓${col_reset}" BashのANSI-C Quotingについて読んだ後、色変数を設定-eし、echoからフラグを削除するときに使用できることに気付きました。 col_green=$'\e[32;01m' col_reset=$'\e[39;49;00m' echo "Done ${col_green}✓${col_reset}" これは、Bashの組み込みエコーまたは外部ユーティリティ/bin/echo(私はmacOS上にある)に渡されたメッセージが正しく印刷されることを意味するため、魅力的です。 しかし、これによりスクリプトの移植性が低下しますか?BashとZshがこのスタイルの引用をサポートしていることは知っていますが、他のことについてはわかりません。

1
テンキーのエミュレーション
私の新しいラップトップ(Dell Inspiron 5578)には数字パッドがありません。専用のテンキーFnがないラップトップの多くは、テンキーにからアクセスできますが、これはできません。実行xevして従来のFnコンボ(例:Fn+ Jfor 1)を使用しようとすると、イベントが表示されません。そして、番号はラベルにさえありません。 AFAIU、OSに渡されないFnため、キーを使用してショートカットを作成できませんFn。しかし、理論的にはAlt_L+をSuper_L代わりに使用できます。問題は、それを適切に行う方法です。Linux以外のVMでもすべてのVMでうまく機能するために、キーボードレイアウトよりも低いレベルでそれを行うことを望みます。 環境:Qubes OS。ホスト部分はFedoraに基づいています。 私はもう試した: Xfceキーショートカットを介してxdotoolコマンドをバインドします。これにより、さまざまな奇妙な結果が生成されます。コマンド(xdotoolキーKP_1およびバリエーション)は通常正常に機能しますが、ショートカットで起動した場合は正常に機能しません。ショートカットによって呼び出される場合、問題はおそらく修飾キーが同時に押されていることです。私はさまざまな変更(--clearmodifiers、修飾子のキーアップなど)を試しましたが、どれもうまく機能しません。 autokeyでも同じことを行います。autokeyがフリーズしました。 非解決策: 外部テンキー/キーボードを使用する:外部キーボードにテンキーを持っていますが、旅行中など、外部キーボードを使用することが不可能または少なくとも不快な場合は、内部テンキーにテンキーを配置したいです。 。 数字行を使用:チェコ語のレイアウトでは、数字行は主にアクセント付き文字に使用されます。私が使用するレイアウト(CShackのextracsバリアント)では、「番号行」に番号がまったくありません。 別のラップトップを購入する:私のさまざまな要件を満たすラップトップを見つけるのは困難でした。


7
一致するディレクトリから1レベル下のディレクトリのリストを見つける
特定のフォルダに含まれるディレクトリのリストを取得しようとしています。 これらのサンプルフォルダーがあるとします。 foo/bar/test foo/bar/test/css foo/bar/wp-content/plugins/XYZ foo/bar/wp-content/plugins/XYZ/js foo/bar/wp-content/plugins/XYZ/css baz/wp-content/plugins/ABC baz/wp-content/plugins/ABC/inc baz/wp-content/plugins/ABC/inc/lib baz/wp-content/plugins/DEF bat/bar/foo/blog/wp-content/plugins/GHI 返されるコマンドが欲しい: XYZ ABC DEF GHI 基本的に、私はwp-content / plugins /の中にあるフォルダーを探しています を使用findすると最も近くなったが、を使用することはできない。-maxdepthフォルダが検索している場所から離れているためです。 以下を実行すると、すべての子ディレクトリが再帰的に返されます。 find -type d -path *wp-content/plugins/* foo/bar/wp-content/plugins/XYZ foo/bar/wp-content/plugins/XYZ/js foo/bar/wp-content/plugins/XYZ/css baz/wp-content/plugins/ABC baz/wp-content/plugins/ABC/inc baz/wp-content/plugins/ABC/inc/lib baz/wp-content/plugins/DEF bat/bar/foo/blog/wp-content/plugins/GHI
13 bash  find  directory  ls 

2
Linuxサーバーが再起動せずにカーネルを更新する方法
私の情報によると、Linuxカーネルのアップグレードには再起動が必要です。家庭用コンピュータの再起動は問題ではありませんが、サーバーの場合と同じだとは思いません。 Linuxディストリビューションを使用するサーバーは、カーネルのアップグレード後に再起動しますか、それとも起動を回避するために何らかのトリックを使用しますか?

4
順序が指定されていない場合、bashスクリプトのオプションの引数を解析するにはどうすればよいですか?
次のプログラムのbashスクリプトを作成するときに、オプションの引数/フラグを含める方法がわかりません。 プログラムには2つの引数が必要です。 run_program --flag1 <value> --flag2 <value> ただし、いくつかのオプションのフラグがあります。 run_program --flag1 <value> --flag2 <value> --optflag1 <value> --optflag2 <value> --optflag3 <value> --optflag4 <value> --optflag5 <value> ユーザーの引数をとるようにbashスクリプトを実行したいと思います。ユーザーが順番に2つの引数のみを入力した場合、次のようになります。 #!/bin/sh run_program --flag1 $1 --flag2 $2 しかし、オプションの引数のいずれかが含まれている場合はどうなりますか?そうなると思います if [ --optflag1 "$3" ]; then run_program --flag1 $1 --flag2 $2 --optflag1 $3 fi しかし、$ 4が与えられ、$ 3が与えられない場合はどうでしょうか?

3
fdiskで論理および拡張パーティションを拡張する方法
拡張パーティション/ dev / sda2の下の論理パーティションであるパー​​ティション/ dev / sda5を拡張しようとしています。 fdiskを使いたいのですが。 手順は、両方のパーティションを削除してから、まったく同じ開始セクター(1001470および1001472)でそれらを再作成することです。最小開始セクターが必要以上に大きい(1003518)論理区画を作成するまで、うまくいきます。 $ sudo fdisk / dev / sda コマンド(m for help):p ディスク/ dev / sda:9.8 GiB、10485760000バイト、20480000セクター 単位:1 * 512 = 512バイトのセクター セクターサイズ(論理/物理):512バイト/ 512バイト I / Oサイズ(最小/最適):512バイト/ 512バイト ディスクラベルタイプ:dos ディスク識別子:0x0cd7105f デバイスブートスタートエンドセクターサイズIDタイプ / dev / sda1 * 2048 999423 997376 487M 83 Linux / …
13 partition  fdisk 


4
「検索」コマンドの出力で「猫」コマンドを使用する方法
findコマンドの出力をコマンドにリダイレクトしてcat、指定したファイルのデータを印刷できるようにします。 たとえば、findの出力がの/aFile/readme場合、猫はと解釈されcat ./aFile/readmeます。どうすればすぐにそれを実行できますか? パイプを使用する必要がありますか? 私はこれのバージョンを試しました: cat | find ./inhere -size 1033c 2> /dev/null しかし、これは完全に間違っていると思いますか?もちろん、出力は複数のファイルではなく、1つのファイルだけであると確信しています。 では、どうすればよいですか?私はGoogleで検索しましたが、適切に検索しなかったためか、解決策が見つかりませんでした:P
13 find  cat 

1
Nginxリバースプロキシリダイレクト
nginxリバースプロキシとして使用していて、Webインターフェイスにログインすると、プロキシされたURLにリダイレクトされます。私はそれを避けて、常に「server_name」をURLとして保持したいと思います。出来ますか? これは私の/etc/nginx/conf.d/my_app.confです: server { listen 443 ssl; server_name my-app.net; ssl_certificate /etc/pki/tls/certs/my-app.cer; ssl_certificate_key /etc/pki/tls/private/my-app.key; ssl_protocols TLSv1.1 TLSv1.2; access_log /var/log/nginx/my-app.access.log main; location / { proxy_pass http://ip_of_the_app:7180/; proxy_redirect off; } } に接続してhttp://my-app.netログイン情報を入力するhttp://ip_of_the_app:7180と、同じログインページにリダイレクトされ、再度ログインする必要があります。この二重ログインを回避できますか?

3
ライブラリがパスにあるかどうかを確認する
ライブラリがインストールされていて、プログラムで使用できるかどうかをテストしたいとします。それがldconfig -p | grep mylibシステムにインストールされているかどうかを確認するために使用できます。しかし、ライブラリが設定によってのみ知られている場合はどうなりますLD_LIBRARY_PATHか? その場合、プログラムはライブラリを見つけることができるかもしれませんが、できldconfigません。ライブラリが結合されたリンカーパスにあるかどうかを確認するにはどうすればよいですか? 実際にプログラムが手元にない場合でも機能する解決策を探していることを追加します(たとえば、プログラムはまだコンパイルされていません)。特定のライブラリがld'に存在することを知りたいだけです。sパス。

2
pinentry-cursesを正しいttyで起動する方法は?
gpg-agent両方のPGP e SSH IDの管理に使用しています。エージェントは次のようなスクリプトで開始されます gpg_agent_env="$XDG_CACHE_HOME/gpg-agent.env" export GPG_TTY="$(tty)" if ! ps -U "$USER" -o ucomm | grep -q gpg-agent; then eval "$({gpg-agent --daemon | tee $gpg_agent_env} 2> /dev/null)" else source "$gpg_agent_env" 2> /dev/null fi これは、インタラクティブシェルを実行するたびに読み込まれます。このセットアップではすべてが正常に機能しますが、問題があります。私が言ってみましょう: ターミナルを開き(バックグラウンドでエージェントを起動)、作業を開始します しばらくして、2つ目の端末を開きます 2番目の端末でパスフレーズを入力する必要があるアクションを実行する この時点でパスフレーズのプロンプトgpg-agentが開始pinentry-cursesされますが、最初のターミナルでこれが実行され、実行中のもの(通常はテキストエディター)と出力が混合され、プログラムを再開したり、ピンエントリを停止したりできません(100%cpuの使用を開始します)。そして私はそれを殺さなければなりません)。 私はここで何か悪いことをしているに違いありません。誰もがこれを経験しましたか? 更新: 私はこれが唯一のように見えるSSHキー、ロックを解除するためのプロンプトのために起こる考え出しこの PGPキーのプロンプトは常に正しい(すなわち電流)のttyにオープンしている間に、。
13 tty  gpg  pinentry 

1
LinuxでMac OS Xアプリケーションを実行する
このウィキペディアの記事によると: OS Xは、Apple Inc.によって開発および販売されている一連のUnixベースのグラフィカルインターフェイスオペレーティングシステムです。 だから私は考えていました: Wineに似たアプリケーションはありますが、Macアプリケーションを実行していますか? LinuxマシンでMac OS Xアプリケーションを実行することは可能ですか?

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