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

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

11
Bashでディレクトリの親を取得する
次のようなファイルパスがある場合... /home/smith/Desktop/Test /home/smith/Desktop/Test/ 親ディレクトリになるように文字列を変更するにはどうすればよいですか? 例えば /home/smith/Desktop /home/smith/Desktop/
208 bash  directory  dirname 

8
シンボリックリンクが存在するかどうかを確認する方法
シンボリックリンクがbashに存在するかどうかを確認しようとしています。これが私が試したものです。 mda=/usr/mda if [ ! -L $mda ]; then echo "=> File doesn't exist" fi mda='/usr/mda' if [ ! -L $mda ]; then echo "=> File doesn't exist" fi ただし、それは機能しません。「!」の場合 省略されると、トリガーされません。で、もし '!' そこにあると、毎回トリガーされます。
208 bash  symlink 

10
find:-execの引数がありません
今日はコマンドで助けられましたが、動作していないようです。これはコマンドです: find /home/me/download/ -type f -name "*.rm" -exec ffmpeg -i {} -sameq {}.mp3 && rm {}\; シェルが戻る find: missing argument to `-exec' 基本的に私がやろうとしていることは、ディレクトリに再帰的に(他のディレクトリがある場合)実行し、.rmファイルタイプに対してffmpegコマンドを実行して、ファイルタイプに変換すること.mp3です。これが完了したら、.rm変換されたばかりのファイルを削除します。 私はこれについての助けに感謝します。
206 bash  shell  find  arguments  exec 

18
ファイルの真ん中に特定の行を表示するクイックUNIXコマンド?
サーバーの問題をデバッグしようとすると、私の唯一のログファイルは20 GBのログファイルです(タイムスタンプもありません。なぜ人々はSystem.out.println()ログとして使用するのですか?運用中ですか?) grepを使用して、調べたいファイルの領域、347340107行を見つけました。 のようなことをする以外に head -<$LINENUM + 10> filename | tail -20 ... headログファイルの最初の3億4700万行を読み取る必要がある場合、行347340100-347340200(たとえば)をコンソールにダンプする迅速で簡単なコマンドはありますか? update grepがマッチの前後のコンテキストを出力できることを完全に忘れていました...これはうまくいきます。ありがとう!
206 linux  bash  unix  text 

5
区切られた文字列をBashの配列に読み込む
スペース区切りの文字列を含む変数があります。 line="1 1.50 string" スペースを区切り文字としてその文字列を分割し、結果を配列に格納して、次のようにします。 echo ${arr[0]} echo ${arr[1]} echo ${arr[2]} 出力 1 1.50 string どこか私はうまくいかない解決策を見つけました: arr=$(echo ${line}) この後に上記のechoステートメントを実行すると、次のようになります。 1 1.50 string [empty line] [empty line] 私も試しました IFS=" " arr=$(echo ${line}) 同じ結果。誰か助けてくれませんか?
206 arrays  string  bash  shell 

3
Ubuntuは「bash:./program Permission denied」と言っています[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 6年前休業。 この質問を改善する コンピューター1とコンピューター2でUbuntuを実行しています。コンピューター1でC ++プログラムをコンパイルしました./program_name。ターミナルからを使用して実行できます。それはうまくいきます。 ただし、これをコンピューター2で実行しようとすると、次のように表示されます。 bash: ./program_name: permission denied 何が問題で、どうすればよいですか?
206 bash  shell  sh 

7
Bashを使用する場合、どの文字をエスケープする必要がありますか?
バッシュでエスケープする必要があるキャラクターの包括的なリストはありますか?それだけで確認できますsedか? 特に、%エスケープする必要があるかどうかを確認していました。私は試した echo "h%h" | sed 's/%/i/g' エスケープせずにうまくいきました%。%エスケープする必要がないという意味ですか?これは必要性をチェックする良い方法でしたか? そしてより一般的です:それらはエスケープするのshellと同じ文字bashですか?

15
パイプからシェル変数に値を読み込む
パイプで送られるstdinからのデータをbashで処理しようとしていますが、うまくいきません。私が意味するのは、次の作業のどれもではない: echo "hello world" | test=($(< /dev/stdin)); echo test=$test test= echo "hello world" | read test; echo test=$test test= echo "hello world" | test=`cat`; echo test=$test test= 出力をしたい場所test=hello world。""引用符を付けて"$test"もうまくいきません。
205 linux  bash  pipe 








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