Unix & Linux

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

1
バー付きのコマンドラインで複数の変数に値を割り当てる方法
基本的に、シェルコマンドの出力の特定の部分を複数の変数に割り当てようとしていますが、その方法がわかりません。 簡単にするために、シェル上のコマンドが実行されると、 one two three four これは、 echo "one two three four" (実際のコマンドは異なります) ここで、出力の2番目と4番目のワード(この場合は2と4)を変数w1とw2に割り当てます。 私は次のようにreadコマンドを使用できると思いました: echo "one two three four" | awk '{print $2 " " $4}' | read w1 w2 しかし、これは機能しません。おそらく、readコマンドがサブプロセスで実行されるためです。 それで、私は私が何を求めているかを達成するためにどうやって行きますか?
10 shell  bash 




2
縦棒の作り方| grepで動作しますか?
これが私が試したgrepコマンドラインの例です: grep '(565172|565173|565175)' /var/log/cups/error_log 3つの値すべてがファイルに複数回存在する場合でも、出力は生成されません。 私はバーをエスケープしてみましたが、それによって状況が多少改善されました-真ん中の値が検出されましたが、最初または最後ではありませんでした。 grep '(565172\|565173\|565175)' /var/log/cups/error_log 私もダブルエスケープを試してみましたが、結果が出ませんでした。 grep '(565172\\|565173\\|565175)' /var/log/cups/error_log 何が悪いのですか?ありがとう。
10 grep 


1
キーストロークの再配線
私のキーボードのいくつかのキーは、壊滅的なコークスの流出後に粘着性の終わりに来ました。ラップトップ全体が来年交換されるので、私は古いキーボードを交換するつもりはありません。 問題のキーは、上向き矢印、下向き矢印、Shift、および「/」です。 Shiftには西海岸に双子の兄弟がいて、現在すべての作業を行っていますxmodmap -e 'keycode 119=/'。コマンドを使用して、「/」を「削除」として再配線できます(これはまったく役に立たないキーであることがわかりました)。つまり、「削除」を押すと「/」が出力されます。 使用するキーを置き換える方法を見つけるためxev。上向き矢印と下向き矢印をそれぞれpgupとpgdnに置き換えるつもりです。残念なことに、上向き/下向きの矢印には出力がありません。私はそのPGUPを知っているとPGD​​Nキーコード112とキーコード117です。しかし、私は中に何を記入しなければならないxmodmap -e 'keycode <value>=<action>'ようなパターンxmodmap -e 'keycode 112='とxmodmap -e 'keycode 117='
9 keyboard 

3
`]`のトークン識別子は何ですか?
バッシュマニュアルは言う: [フォームを使用する場合、コマンドの最後の引数は]でなければなりません。 $ type [ [ is a shell builtin $ type ] bash: type: ]: not found つまり]、予約語でも、演算子でも、組み込みコマンドでもありません。 トークンとして、トークン識別子は]何ですか?WORDまたはNAME?
9 bash 

2
Bash変数の初期化-必要に応じて、推奨、または定義してください。
メインコードの前、または実際の値を割り当てる前に関数内のローカル変数のいずれかで、スクリプト内のbash変数の値を初期化することのメリット/デメリットはありますか? 私はこのようなことをする必要がありますか? init() { name="" name=$1 } init "Mark" 変数がガベージ値で初期化されて(初期化されていない場合)、変数の値に悪影響を与えるリスクはありますか?
9 bash  variable 

1
過剰なksoftirqdリソース使用の原因をデバッグする方法は?
man ksoftirqdは以下を示します: ksoftirqdがCPU時間のごく一部を占めている場合は、マシンのソフト割り込み負荷が高いことを示しています。 私は、ksoftirqdプロセスが短期間に過剰なCPUおよびディスクリソースを使用する、一般的に高いシステム使用率でDebian Wheezyシステムを使用しています。その間、システムはカタツムリのペースで動作します。 このksoftirqdリソース使用率の急上昇の根本的な原因を理解するには、どうすればよいですか?
9 interrupt  load 

1
mkdir:ディレクトリを作成できません:関数が実装されていません
私は大学にいて、学校のLinuxマシンからcsの宿題を提出しなければなりませんが、ラップトップ(Mac)で宿題をするのが好きです。そのため、ファイルを毎回コピーして送信するのではなく、scpおよびを使用してそれを実行するスクリプトを作成することにしましたssh。スクリプトを初めてテストしたとき、scpコマンドhw3は他のマシンにディレクトリを作成しました。次にテストしたときに、ディレクトリが作成されましたhw4。両方のディレクトリに私のプログラムファイルがありました。両方のディレクトリはテスト用にのみ作成されたため、を使用して両方を削除しましたrm -r。しかし、ここで問題が発生します。 スクリプトとその他のデバッグを後でテストしたところ、hw3またはhw4という名前のファイルまたはフォルダーを、を介して接続されている他のマシンに作成できないことがわかりましたssh。hw3またはではなく、他の名前のフォルダを作成できますhw4。私は経由でそれらを作ることができないmkdir、mv、cp私はファイルシステムに何か問題があると思い作り、またはタッチ。しかし、私が作ることができるhw3とhw4、親ディレクトリ内のファイル。これが何であるかを知り、これまでに見たことがない人は誰もいません。問題をグーグルで調べても結果は出ていません。 私の学校では、ログオンできるマシンがたくさんあり、いくつか試しましたが、すべてのマシンで問題が解決しません。ネットワークドライブ(パスのSDRIVE)から作業しているので、これは理にかなっています。スクリプトを機能させるためhww#に、の代わりに単にスクリプトを作成するという回避策を使用しましたがhw#、何が起こっているのか、そしてそれを修正する方法を知りたいと思っています。 これは、sshおよびコマンドを使用してログオンしたときの端末出力です。 Last login: Tue Mar 3 11:40:18 2015 from r03ane3md.device.mst.edu You are currenly one of 7 users on this host! ane3md@rc07xcs213:~$ cd SDRIVE/cs1510 ane3md@rc07xcs213:~/SDRIVE/cs1510$ ls -l total 0 drwxr-xr-x 2 ane3md mst_users 0 Mar 3 12:01 hw1 drwxr-xr-x 2 ane3md mst_users 0 Feb 21 21:37 hw2 …

1
/etc/mdadm.confを使用せずに特定のRAIDアレイを組み立てる方法
mdadmとそのスキャン機能を使用して特定のRAIDアレイを組み立てることはできますが、構成ファイルは必要ありませんか? 背景: カスタムセットアップのinitramfsを使用してシステム(dm-cryptなど)をセットアップしています。すべてはinitスクリプト内で行われ、構成されています。それが、私がそれを保持したい方法です。つまり、追加の構成ファイルはありません。 私の目標: initスクリプト内で、コマンドラインのみを使用して特定のRAIDアレイを1つ組み立てたいと思います。アレイはUUIDで識別され、mdデバイス名が指定され、アレイメンバーをスキャンする必要があります(たとえば、接続されているUSBスティックまたは故障したデバイスが/ dev / sdX名を台無しにするため)。他のすべてのデバイスと潜在的なRAIDアレイは無視されます。これは、ブート時にその1つのアレイのみが対象となるためです(ルートファイルシステムを実行します)。 mdadmのmanページを徹底的に読み、いくつかのテストを実行した結果、次のことがわかりました。 mdadm --assemble --uuid <uuid> /dev/md0 これは機能しているようですが、これは正しい方法ですか? manページから: 正確に1つのデバイスがリストされているが、-scanが指定されていない場合、mdadmは--scanが指定されているかのように動作し、識別情報が構成ファイルから抽出されます。
9 raid  mdadm  initramfs 

1
文字列の前に「-」を付けて、bashでファイルに複数の行を追加する方法
「bashを使用してファイルに複数の行を追加する方法」によく似た質問ですが、ファイルを--で開始し、可能であればファイルにも追加したいと考えています。 printf "--no-color\n--format-doc\n--no-profile\n" >> ~/.rspec-test 問題は、ファイルを「-」で開始することです。 -bash: printf: --: invalid option printf: usage: printf [-v var] format [arguments] エスケープする方法はあり--ますか?代替案はありますか?私が使用して複数の行を行う方法がわからないんだけどecho、とcat私は自動化されたスクリプトでそれをしたいのですが、良いオプションではありません。

2
特定の期間のstraceの実行
ユーザープロセスを終了せずにCtrl + Cを使用せずに、特定の期間(たとえば1分間)ユーザープロセスでstraceを実行する方法 ユーザープロセスのstrace実行を自動化するスクリプトを作成したいと思います。
9 strace 

7
Linuxで使用できるマルチユーザーwebdavサーバーはありますか?
私のSMBAサービスを完全に廃止し、WebDavサービスに置き換えたいと考えています。 これまでのすべてのGoogle検索で、Apache / Webdavを使用するように指示されてきました。これは私が必要とするものに近いですが、私が読む限りでは、Apacheがユーザーのファイルにアクセスする必要があり、さらに悪いことです。ファイルを作成する場合、新しいファイルは(ユーザーではなく)Apacheが所有します。 一部のユーザーはSSHに直接アクセスできるため、正しいUnixの所有権と権限を持つファイルを用意することが必要です。 だから私はApache / Webdavをマルチユーザーで「正しく」機能させる方法(つまり、ファイルを提供しようとする前にUNIXユーザーをログインユーザーに変更する方法)またはApache /の完全な代替手段を見つける方法を探しています Webdav。 これまでのところ、検索では何も改善されていません。

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