タグ付けされた質問 「bash」

Bashコマンドシェル用に記述されたスクリプトに関する質問。エラー/構文エラーのあるシェルスクリプトについては、ここに投稿する前に、shellcheckプログラム(またはhttps://shellcheck.netのWeb shellcheckサーバー)で確認してください。Bashのインタラクティブな使用に関する質問は、スタックオーバーフローよりもスーパーユーザーで話題になる可能性が高くなります。

13
Bashを使用してファイルのサイズを確認する方法
サイズ0をチェックするスクリプトを持っていますが、代わりにファイルサイズをチェックする簡単な方法があるはずだと思いました。すなわちfile.txt、通常、100Kです。スクリプトが90k(0を含む)より小さいかどうかを確認し、この場合ファイルが破損しているため、新しいコピーを作成する方法。 現在使用しているもの。 if [ -n file.txt ] then echo "everything is good" else mail -s "file.txt size is zero, please fix. " myemail@gmail.com < /dev/null # Grab wget as a fallback wget -c https://www.server.org/file.txt -P /root/tmp --output-document=/root/tmp/file.txt mv -f /root/tmp/file.txt /var/www/file.txt fi
145 bash 

9
sudoの使用時にコマンドが見つかりません
foo.shホームフォルダーにスクリプトが呼び出されています。 このフォルダに移動してを入力すると./foo.sh、 -bash: ./foo.sh: Permission denied。 を使用するとsudo ./foo.sh、 sudo: foo.sh: command not found。 なぜこれが起こり、どうすれば修正できるのですか?
145 linux  bash  sudo 

4
tar、gz、zip、またはbzip2を使用してファイルを分割する[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善したいですか? Stack Overflowのトピックとなるように質問を更新します。 11年前休業。 この質問を改善する 約17〜20 GBの大きなファイルを圧縮する必要があります。ファイルごとに約1GBのいくつかのファイルに分割する必要があります。 私はGoogleを介してソリューションを検索し、splitおよびcatコマンドを使用する方法を見つけました。しかし、それらは大きなファイルに対してはまったく機能しませんでした。また、これらはWindowsでは機能しません。Windowsマシンで抽出する必要があります。

7
試合前後のグレップ文字?
これを使用する: grep -A1 -B1 "test_pattern" file ファイル内の一致したパターンの前後に1行を生成します。行ではなく指定した数の文字を表示する方法はありますか? 私のファイルの行はかなり大きいので、行全体を印刷するのではなく、コンテキストで一致を観察するだけです。これを行う方法に関する提案はありますか?
144 bash  grep 


7
wgetを使用してディレクトリ全体とサブディレクトリをダウンロードする方法は?
を使用してプロジェクトのファイルをダウンロードしようとしています。そのプロジェクトwgetのSVNサーバーがもう実行されておらず、ブラウザからしかファイルにアクセスできないためです。すべてのファイルのベースURLは同じです http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/ * 「wgetまたはその他の同様のツール」を使用して、このリポジトリ内のすべてのファイルをダウンロードするにはどうすればよいですか。「tzivi」フォルダーはルートフォルダーで、その下にいくつかのファイルとサブフォルダー(最大2または3レベル)があります。
143 regex  linux  bash  wget 

10
各ディレクトリに移動してコマンドを実行するにはどうすればよいですか?
どのように私はparent_directory内の各ディレクトリを通過し、bashスクリプト書くか実行コマンドをで各ディレクトリを。 ディレクトリ構造は次のとおりです。 parent_directory(名前は何でもかまいません-パターンに従いません) 001(ディレクトリ名はこのパターンに従います) 0001.txt(ファイル名はこのパターンに従います) 0002.txt 0003.txt 002 0001.txt 0002.txt 0003.txt 0004.txt 003 0001.txt ディレクトリの数は不明です。
143 bash  shell  unix  find 

3
Bashで2つのパイプラインを比較するにはどうすればよいですか?
Bashで一時ファイルを使用せずに2つのパイプラインを比較するにはどうすればよいですか?次の2つのコマンドパイプラインがあるとします。 foo | bar baz | quux そして、あなたdiffは彼らのアウトプットで見つけたいと思っています。1つの解決策は明らかに次のとおりです。 foo | bar > /tmp/a baz | quux > /tmp/b diff /tmp/a /tmp/b Bashで一時ファイルを使用せずにそれを行うことは可能ですか?パイプラインの1つをパイプしてdiffすることにより、1つの一時ファイルを削除できます。 foo | bar > /tmp/a baz | quux | diff /tmp/a - ただし、両方のパイプラインを同時にdiffにパイプすることはできません(少なくとも明らかな方法ではありません)。/dev/fd一時ファイルを使用せずにこれを行うための巧妙なトリックはありますか?
143 bash  diff  pipeline 


10
シェルスクリプトでファイル名の拡張子を削除するにはどうすればよいですか?
次のコードの何が問題になっていますか? name='$filename | cut -f1 -d'.'' そのまま、リテラル文字列を取得します$filename | cut -f1 -d'.'が、引用符を削除すると何も取得されません。一方、タイピング "test.exe" | cut -f1 -d'.' シェルでは、私が望む出力を与えますtest。私はすでに$filename正しい値が割り当てられていることを知っています。私がしたいことは、変数に拡張子なしのファイル名を割り当てることです。
143 bash  shell  sh  cut  gnu-coreutils 

9
Bashのインラインコメント?
1行のコマンドで1つのフラグをコメント化できるようにしたいのですが。Bashはfrom # till end-of-lineコメントしているようです。私は次のようなトリックを見ています: ls -l $([ ] && -F is turned off) -a /etc 醜いですが、何もないよりはましです。もっと良い方法はありますか? 以下は動作するようですが、移植可能かどうかはわかりません: ls -l `# -F is turned off` -a /etc
142 bash  comments 

7
変数名が文字列として格納されている場合、変数値を取得するにはどうすればよいですか?
変数名を文字列として持っている場合、bash変数の値を取得するにはどうすればよいですか? var1="this is the real value" a="var1" Do something to get value of var1 just using variable a. 環境: いくつかのAMI(Amazon Machine Image)があり、各AMIのいくつかのインスタンスを起動したいと思います。起動が完了したらすぐに、AMIタイプに従って各インスタンスをセットアップしたいと思います。AMI内で大量のスクリプトや秘密鍵を焼きたくないので、一般化された起動スクリプトを用意し、それを公にアクセス可能なリンクを使用してS3に配置しました。rc.localに、起動スクリプトをフェッチして実行する小さなコードを入れました。これがAMIにあるすべてです。次に、各AMIは、すべてのAMIに適用可能な共通の構成スクリプトと、それぞれの特別なセットアップスクリプトにアクセスします。これらのスクリプトはプライベートであり、アクセスするには署名付きURLが必要です。 そこで、AMIのインスタンス(my_private_ami_1)を起動するときに、すべてのプライベートスクリプトの署名付きURLを含む、S3に提示されたもう1つのファイルの署名付きURLをキーと値のペアで渡します。config_url="http://s3.amazo.../config?signature" my_private_ami_1="http://s3.amazo.../ami_1?signature" ... 起動スクリプトが実行されると、上記のファイルがダウンロードされますsource。次に、そのAMIタイプをチェックし、それ自体に適切なセットアップスクリプトを選択します。 ami\_type=GET AMI TYPE #ex: sets ami\_type to my\_private\_ami\_1 setup\_url=GET THE SETUP FILE URL BASED ON AMI\_TYPE # this is where this problem arises これで、AMIタイプに関係なくインスタンスを起動できる汎用コードを作成できるようになり、インスタンスが自分で処理できるようになりました。
142 string  bash 

7
OSXでPATH環境変数を永続的に設定する
OSXで環境変数を永続的に設定する方法に関するいくつかの回答を読みました。 最初に、私はこれを試しました、Linux / Unixで$ PATHを永続的に設定する方法は?と言うエラーメッセージが表示されたno such file and directoryので、~/.bash_profile代わりに試すことができると思いました~/.profileが、うまくいき ませんでした。 第二に、私はこのソリューションを見つけましたos xでアプリケーションによって使用される$ PATHを設定する方法 〜/ .MacOSX / environment.plist しかし、再びno such file and directoryエラーが発生しました。 新しいターミナルセッションを開くたびに変数を何度も設定する必要がないように、これらの変数を設定する方法が必要です。

8
最新のファイルマッチングパターンを見つけるBash関数
Bashでは、特定のパターンに一致する最新のファイルのファイル名を返す関数を作成したいと思います。たとえば、次のようなファイルのディレクトリがあります。 Directory/ a1.1_5_1 a1.2_1_4 b2.1_0 b2.2_3_4 b2.3_2_0 「b2」で始まる最新のファイルが必要です。bashでこれを行うにはどうすればよいですか?これを~/.bash_profileスクリプトに含める必要があります。
141 linux  bash 

5
エラー時にスクリプトを終了する
次のifような関数を持つシェルスクリプトを作成しています。 if jarsigner -verbose -keystore $keyst -keystore $pass $jar_file $kalias then echo $jar_file signed sucessfully else echo ERROR: Failed to sign $jar_file. Please recheck the variables fi ... エラーメッセージを表示した後、スクリプトの実行を終了させたい。どうすればこれを行うことができますか?
141 bash  exit  shell 

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