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

他のBourne / POSIXシェルとは対照的に、GNUのBourne Again SHellに固有の質問。Unixシェル全般に関する質問については、代わりに/ shellタグを使用してください。



2
bashスクリプトで引数をループする方法
引数の量が不明なbashスクリプトを書きたいと思います。 これらの議論をどのように歩き、それらで何かをすることができますか? 間違った試みは次のようになります。 #!/bin/bash for i in $args; do echo $i done
16 bash  shell  arguments 

6
bashスクリプト(.bashrcなど)でXセッションを検出する
最近xset b off、.bashrc に置きました。今、私はttyまたはssh経由、つまりXセッション外でログインするとthetがポップアップするエラーに悩まされています。 私が最初に思いついたのは、[[ -z "$SOME_VAR" ]] && xset b off(変数の設定と空のテストは別の質問であることが判明したことです)。しかし、どのSOME_VARが正しいのでしょうか? そこで、ttyのset出力とurxvtのset出力を比較して、どの変数がXに設定されており、ttyにないかを確認しました。予想どおり、非常に多くの違いがありました(自分に関連があると思われるもののみをリストします)。 DESKTOP_SESSION DISPLAY GDMSESSION SESSION_MANAGER WINDOWID WINDOWPATH XAUTHORITY XDG_SESSION_COOKIE XDG_CONFIG_DIRS XDG_DATA_DIRS XDG_MENU_PREFIX Xセッションに参加しているかどうかを検出するためにテストするのに最も適切で普遍的なものはどれですか?できるだけ多くのディストリビューション、プラットフォーム、デスクトップ環境で機能するものはありますか? または、環境変数をテストするよりも良い方法はありますか?

3
ファイル記述子を移動するための実用
bashのmanページによると: リダイレクト演算子 [n]<&digit- ファイル記述子digitをfile descriptor nに移動するか、n指定されていない場合は標準入力(ファイル記述子0)に移動します 。digitに複製された後に閉じられnます。 ファイル記述子を別の記述子に「移動する」とはどういう意味ですか?そのような実践の典型的な状況は何ですか?

4
拡張されていないアスタリスクによるエラーの回避
bashでは、次のようなforループをよく使用します for file in *.type; do sommecommand "$file"; done; に一致するすべてのファイルに対して操作を実行します*.type。作業ディレクトリにこの末尾のファイルが見つからない場合、アスタリスクは展開されず、通常、コマンドがファイルを見つけられなかったというエラーメッセージが表示されます。このエラーを回避するいくつかの方法をすぐに考えられます。ただし、条件を追加してもそれほどエレガントではないようです。これを達成するための短くてきれいな方法はありますか?
16 bash  wildcards  for 

5
bashを修正する方法、またはSSHログインで/ bin / bashを自動実行する方法
rootサーバーでログインするときはすべてmyusername正常に動作しますが、bash としてログインすると正しく動作しません。 行は次で始まります: $ の代わりに myusername@myserver:~$ 矢印キー、タブキーなどのすべての特殊キーは機能しません。 入力するとbin/bash再び動作bin/bashしますが、問題を修正するか、ログイン時に自動実行したいと思います。どうすれば修正できますか?
16 ssh  bash 

1
rsync出力から「ダイアログ」を使用してプログレスバーを作成する
rsync出力を「dialog --gauge」コマンドに入力できる方法でフィルタリング/リダイレクトする方法を探しているので、ファイル同期中に見栄えの良いプログレスバーを取得できます。現在、プロンプトで直接テストしているだけですが、(bash)シェルスクリプトでこれを行う予定です。 私はインターネットを見回し、細かく見つけましたが、それを機能させるための何かがまだありません (免責事項:これは完全に間違ったアプローチである可能性があり、リダイレクト/パイピングの怪物です) 私が現在まとめているもの: rsync -avz --progress -e "ssh" user@server:/home/user/data/ /home/user/data | awk -f /home/user/rsync.awk | sed 's/\([0-9]*\).*/\1/' | dialog --title "My Gauge" --gauge "Hi, this is a gauge widget" 20 70 最初に--progressオプションを指定した実際のrsyncコマンドがありますrsyncからの出力はawkにパイプされ、以下のawkフィルターを使用します。 { if (index($0, "to-check=") > 0) { split($0, pieces, "to-check=") split(pieces[2], term, ")"); split(term[1], division, "/"); …
16 linux  bash  scripting  awk  rsync 

4
ファイル(またはディレクトリ)名の区切り記号の適切なスタイル/プラクティス[非公開]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 これがここに投稿する「正しい」質問であるかどうかは正確にはわかりません。私はおそらく、実際のカテゴリーの答え(機能するかしないかのどちらか、そしてそれだけです)よりも「意見」について多くを尋ねているでしょう。 私は、どの名前セパレーターが最もLinuxフレンドリー(より具体的にはBashフレンドリー)であり、同時に人間フレンドリーであるのか疑問に思っていました。 Mr. Foo Bar(Fooは名、Barは姓)に関連するものを含むディレクトリを作成するとします。 「Foo-Bar/」という名前は非常に便利です。-は「通常の」文字であり、エスケープする必要はありません。それを明確に示してFooおりBar、2つの独立したものです。 現在、「Foo.Bar」は少し複雑です。誰かがそれFoo.Barを実際にファイルであると考えるかもしれません(一見、特にカラーリングが有効になっている端末がない場合)。ここで、「Foo」はファイル名、「Bar」は拡張子です。 「Foo Bar」を使用することもできますが、ディレクトリにアクセスするときは空白をエスケープする必要があり、親ディレクトリ(場所Foo Bar)の内容をリストし、そのリストをbash配列に入れたい場合は、空白は問題を引き起こすでしょう(たくさん)。よくない。 ブラケット()も多くの問題を引き起こします。また、コマンドを使用して問題を引き起こすには、エスケープする必要がありますscp。 だから...質問は(最後に)です:ファイル名を一目で明確で意味のあるものにする必要があり、セパレータを使用する必要がある場合、何を使用しますか?
16 linux  bash  filenames 


4
echoコマンドでフォントを変更する
echoの出力のフォント属性をzshまたはbashで変更することはできますか? 私が望むのは次のようなものです: echo -n "This is the font: normal " echo -n $font=italic "italic," echo -n $font=bold "bold," echo -n "and" echo -n $font=small "small". そのため、テキスト行内に「これはフォントです。通常、斜体、太字、小」です。
16 bash  shell  zsh  fonts 


3
Bashスクリプトおよび大きなファイル(バグ):リダイレクトからの読み取り組み込みを使用した入力は、予期しない結果をもたらします
大きなファイルとbash。これはコンテキストです: 私は大きなファイルを持っています:75Gと400,000,000行(これはログファイルです、私の悪い、私はそれを成長させました)。 各行の最初の10文字は、YYYY-MM-DD形式のタイムスタンプです。 そのファイルを分割したい:1日1ファイル。 動作しなかった次のスクリプトを試しました。 私の質問は、このスクリプトが機能しないことであり、代替ソリューションではありません。 while read line; do new_file=${line:0:10}_file.log echo "$line" >> $new_file done < file.log デバッグ後、new_file変数に問題が見つかりました。このスクリプト: while read line; do new_file=${line:0:10}_file.log echo $new_file done < file.log | uniq -c 結果を以下に示します(xデータを機密に保つためにes を入れましたが、他のcharsは実際のものです)。に注意してくださいdhと短い文字列に。 ... 27402 2011-xx-x4 27262 2011-xx-x5 22514 2011-xx-x6 17908 2011-xx-x7 ... 3227382 2011-xx-x9 4474604 2011-xx-x0 1557680 2011-xx-x1 …
16 bash 


6
ナンセンスなコマンドを入力するたびに、このpythonエラーメッセージが生成されるのはなぜですか?
「ナンセンス」コマンドを入力するたびに、このpythonエラーメッセージが生成されます。通常のコマンドは正常に機能します。これをデバッグする方法はありますか? $ somenonexistingcommand Traceback (most recent call last): File "/usr/local/lib/python2.7/site.py", line 553, in <module> main() File "/usr/local/lib/python2.7/site.py", line 535, in main known_paths = addusersitepackages(known_paths) File "/usr/local/lib/python2.7/site.py", line 268, in addusersitepackages user_site = getusersitepackages() File "/usr/local/lib/python2.7/site.py", line 243, in getusersitepackages user_base = getuserbase() # this will also set USER_BASE File "/usr/local/lib/python2.7/site.py", …
16 bash  ubuntu  python 

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