Unix & Linux

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

2
予期しないトークン `( '付近の構文エラー
CentOSのSSHターミナルで以下のコードを使用すると、正常に動作します。 paste <(printf "%s\n" "TOP") しかし、シェルスクリプト(test.sh)に同じ行コードを配置し、ターミナルからシェルスクリプトを実行すると、このようにエラーがスローされます ./test.sh: line 30: syntax error near unexpected token (' ./test.sh: line 30: paste <(printf "%s\n" "TOP") この問題を修正するにはどうすればよいですか?
15 shell 

2
位置パラメータ付きのbash -c
通常、$0スクリプト内では、スクリプトの名前、またはそれが呼び出されたもの(パスを含む)に設定されます。ただし、オプションで使用bashする場合は、コマンド文字列の後に渡される引数の最初に設定されます。-c$0 bash -c 'echo $0 ' foo bar # foo 実際には、位置パラメータはシフトされているように見えますが、が含まれてい$0ます。ただしshift、コマンド文字列では$0(通常どおり)影響を受けません。 bash -c 'echo $0; shift; echo $0 ' foo bar # foo # foo コマンド文字列のこの奇妙な動作はなぜですか?このような奇妙な動作を実装する背後にある理由、理論的根拠を探していることに注意してください。 そのようなコマンド文字列は$0通常定義されたパラメータを必要としないと推測できるため、経済のために通常の引数にも使用されます。ただし、その場合、の動作shiftは奇妙です。別の可能性は$0、プログラムの動作を定義するために使用される(bashas shまたはvimas と呼ばれるla vi)が、$0ここではコマンド文字列でのみ表示され、その中で呼び出されるプログラムでは表示されないためです。の他の用途は考えられない$0ので、これを説明するのに途方に暮れています。
15 bash 


2
cp -lまたはlnとのハードリンクに違いはありますか?
rsyncとハードリンクを使用してバックアップスキームを実装しています。rsyncでlink-destを使用してハードリンクを実行できることはわかっていますが、rsyncで「link-dest」を実装する前に「cp -l」を使用するという記述を見ました。私が知っているハードリンクの別の方法は「ln」です。 私の質問は、好奇心からです:「ln」を使用する場合と「cp -l」を使用する場合のハードリンクの作成に違いはありますか?
15 cp  hard-link  ln 


4
curlを使用してWebページの応答のタイムアウトを設定する
ツールを使用して、Webページが稼働しているかどうかを監視します。 ツールは、curlコマンドを内部的に使用して出力を取得します。 ただし、Webページの応答に時間がかかると、TIMEOUTエラーが返されます。ツールからタイムアウトを増やす方法はありません。 Webページからの応答のタイムアウト期間を設定/変更する方法はありますか? 変更できる変数はありますか?
15 curl  timeout 

4
bash:adduser:コマンドがcentOSに見つかりません
最近、CentOS 5.5をVMWare 8にインストールしましたが、システムに新しいユーザーを追加しようとしています。su -オプションを使用しない限り、ユーザーを追加できません。パスが正しく設定されていない状態で何かをする必要があると思います。 パスを更新しましたが、次のようになります /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/uone/bin:/sbin コマンドは既にパスの一部である/ sbin dirにあると思います。誰も私に他に何が欠けているかもしれないかを提案できますか?
15 shell  path 

8
ディレクトリ内のファイルを拡張子でカウントする
テストの目的で、ディレクトリ内の画像ファイルの数を数え、各画像ファイルの種類をファイル拡張子(jpg = "yes"で分けます。これは、後でアクションを実行する別のスクリプトに役立つためです。各ファイル拡張子で)。JPEGファイルのみに次のようなものを使用できますか? jpg="" count=`ls -1 *.jpg 2>/dev/null | wc -l` if [ $count != 0 ] then echo jpg files found: $count ; jpg="yes" fi ファイル拡張子jpg、png、bmp、rawなどを考慮whileして、これを行うにはサイクルを使用する必要がありますか?

2
pwdと/ bin / pwdの奇妙な違い
を使用して現在のディレクトリにシンボリックリンクを追加しましたln -s . aa。実行しcd aa、その後実行した場合pwd、応答はになり/home/sim/aaます。 しかし、実行する/bin/pwdと印刷されます/home/sim(現在のディレクトリは変更されていません)。 この違いはどこから来たのですか?
15 shell  symlink  pwd 

3
ファイルBの文字列を含むファイルAのすべての行を削除します
users.csvuserNames、userIDs、およびその他のデータのリストを含むCSVファイルがあります。 username, userid, sidebar_side, sidebar_colour "John Lennon", 90123412, "left", "blue" "Paul McCartny", 30923833, "left", "black" "Ringo Starr", 77392318, "right", "blue" "George Harrison", 72349482, "left", "green" 別のファイルtoremove.txtには、ユーザーIDのリストがあります。 30923833 77392318 users.csvIDを含むファイルからすべての行を削除する賢明で効率的な方法はありますtoremove.txtか?2つのファイルを解析し、にない行のみを新しいファイルに書き込む単純なPythonアプリを作成しましたがtoremove.txt、非常に遅いです。おそらく、いくつかsedまたはawk魔法がここで役立ちますか? 上記の例を考慮すると、これは望ましい結果です。 username, userid, sidebar_side, sidebar_colour "John Lennon", 90123412, "left", "blue" "George Harrison", 72349482, "left", "green"


4
wgetを使用したファイルのダウンロード
このWebサイトからファイルをダウンロードしようとしています。 URL:http : //www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file このコマンドを使用する場合: wget http://www.ncbi.nlm.nih.gov/geo/download/?acc=GSE48191&format=file index.html?acc=GSE48191ある種のバイナリ形式のみを取得します。 このHTTPサイトからファイルをダウンロードするにはどうすればよいですか?
15 wget 

9
sedを使用してファイル内のすべての出現を検索する
OPEN STEP 4.2 OSを使用しています...現在、次のsedコマンドを使用しています。 sed -n '1,/141.299.99.1/p' TESTFILE | tail -3 このコマンドは、IPが141.299.99.1のファイル内で1つのインスタンスを検索し、その前に3行も含めます。これは、IPのすべてのインスタンスとその前の3行も検索したいという例外を除きます。そして最初だけではありません。
15 sed 

3
GLX拡張がxvfbで正しく機能しない
次のパッケージがインストールされたUbuntu 14.04システムがあります。 libegl1-mesa:amd64 libegl1-mesa-drivers:amd64 libgl1-mesa-dri:amd64 libgl1-mesa-dri:i386 libgl1-mesa-glx:amd64 libgl1-mesa-glx:i386 libglapi-mesa:amd64 libglapi-mesa:i386 libgles2-mesa:amd64 libglu1-mesa:amd64 libopenvg1-mesa:amd64 libwayland-egl1-mesa:amd64 mesa-utils xvfb xvfbの下でアプリケーションを起動したい。最初にxvfbを起動します: $ Xvfb :1 -screen 0 1024x768x24 +extension GLX +render -noreset >> xsession.log 2>&1 & 次に、xvfbログファイルを確認します。 Initializing built-in extension Generic Event Extension Initializing built-in extension SHAPE Initializing built-in extension MIT-SHM Initializing built-in extension XInputExtension …
15 x11  opengl  xvfb 

4
ディレクトリ内のファイルを再帰的に繰り返す
ディレクトリ内のファイルの再帰的な反復は、次の方法で簡単に実行できます。 find . -type f -exec bar {} \; ただし、上記は、多くの条件分岐、ループなどを行う必要があるより複雑なものには機能しません。私はこれを上記に使用していました。 while read line; do [...]; done < <(find . -type f) ただし、これはあいまいな文字を含むファイルでは機能しないようです: $ touch $'a\nb' $ find . -type f ./a?b そのようなあいまいな文字をうまく処理する代替手段はありますか?

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