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

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

3
forループを使用して新しい行を見つける方法は?
私が見つけたウェブ上のさまざまな場所で: \015 \012 \x0a - hex \n \r さまざまな改行/改行の同義語としてすべて... しかし、この小さなスクリプトでは、改行に遭遇したときに認識できません。誰かがif行でチェックする必要があることを誰かに教えてもらえますか? #!/bin/bash test="this is a test" for a in "$test"; do if [[ "$a" == '\012' ]] ; then echo "FOUND NEWLINE" fi echo "$a" done
8 bash  shell  string 

3
バッシュ文字列は複数の文字を1つに置き換えます
フィードのタイトルから、文字と数字を除くすべての文字をダッシュ​​に置き換えて、ファイルシステムの安全なファイル名として結果を使用します。 $ t="Episodie 06: No hope of riding home (NEW) - Advanced grammar" $ echo ${t//[^A-Za-z0-9]/-} Episodie-06--No-hope-of-riding-home--NEW----Advanced-grammar しかし、私はすべての繰り返しダッシュを次のように1つに凝縮したいと思います Episodie-06-No-hope-of-riding-home-NEW-Advanced-grammar 私は2パスの置換を使用してそれを達成できることを発見しました: $ t="Episodie 06: No hope of riding home (NEW) - Advanced grammar" $ tmp=${t//[^A-Za-z0-9]/-} $ echo ${tmp//--/-} Episodie-06-No-hope-of-riding-home-NEW--Advanced-grammar 私は次のような単一のパスでそれを行うことができると思いました: $ echo ${t//[^A-Za-z0-9]+/-} しかし、それは機能しません。 どんな手掛かり? 注:sed他のツールと一緒に行きたくない
8 bash  shell  string 

1
bash(arch linux)で文字エンコードを修正する方法
bashでのドイツ語のウムラウトのエンコードに問題があります。ほとんど問題なく動作していますが、無効なコマンドを入力すると、bashによって生成されるエラーメッセージには、実際の文字ではなく、奇妙なエスケープシーケンスが含まれます。 これは問題を示すログです: [root@myhost ~]# mkdir ä [root@myhost ~]# ä -bash: $'\303\244': Kommando nicht gefunden. [root@myhost ~]# ü -bash: $'\303\274': Kommando nicht gefunden. [root@myhost ~]# ls ä äöü Projects tbb [root@myhost ~]# cat äöü äüö [root@myhost ~]# rm ä rm: Entfernen von „ä“ nicht möglich: Ist ein Verzeichnis [root@myhost ~]# rmdir …


2
Bashカラー出力が失敗する
セッドまたはエコーの問題ですか?私は何を間違っていますか? $> cat ~/bin/color_test.sh #!/bin/bash ColorOff='\e[0m' # Text Reset BWhite='\e[1;37m' # Bold White string="test TEST test" echo -e "$string" | sed -e "s/TEST/${BWhite}TEST${ColorOff}/g" $> ~/bin/color_test.sh test e[1;37mTESTe[0m test 太字で強調表示されたTESTが期待されたものです。
8 bash  sed  quoting 


1
bash: `-su:$ *:unbound variable` with` set -u`
これは、GNU bashバージョン4.0を実行しているFreeBSD 7.xシステムです。 Bashでは、このset -uオプションは、次のように、設定されていない変数を検出した場合、シェルに強制的にエラーを出力させることができます。 $ set -u $ echo $THISISUNSET -su: THISISUNSET: unbound variable $ echo $? 1 ただし、$ *でも同じエラーが発生します。 $ echo $* -su: $*: unbound variable $ echo $? 1 $ echo $@ -su: $@: unbound variable Bashマニュアル4.3.1 Set Builtinは、特にset -u$ *と$ @ を無視するように言っています: -u未設定の変数および特殊パラメーター '@'または '*'以外のパラメーターは、パラメーター展開を実行するときにエラーとして扱います。エラーメッセージが標準エラーに書き込まれ、非対話型シェルが終了します。 どうすれば修正できますか?
8 bash  freebsd 

2
一連のリダイレクトを理解する
複数のリダイレクトが一緒に使用される場合、それらの順序を変更すると違いがありますか? 彼らの命令の意味をどのように理解するでしょうか?リダイレクトのチェーンチャネルは、左から右、または右から左にリダイレクトを読み取るように構築されていますか? 例えば command 2>&1 > somefile command > somefile 2>&1 よろしくお願いします!


3
スクリプトまたはnautilusメニューを介した再帰的なchmodのみのフォルダーまたはファイルのみ?
これについては、これまでに説明しました。 私が知りたいのは、これらをどのように変えるかです: このフォルダー内の再帰的なchmodのみのファイル: find . -type f -exec chmod 0600 {} \; このフォルダー内の再帰的なchmodのみのフォルダー: find . -type d -exec chmod 0755 {} \; bashスクリプトに挿入すると、次のようになります。 ファイルの場合: rchmodf 744 . ディレクトリの場合: rchmodd 755 . そして...それが可能であれば、おそらくnautilusの右クリックメニューオプションに移動することもできます。
8 bash  nautilus  chmod 


1
bash履歴をプレフィックス依存にする方法は?
bashを上下に押すと、すでに入力したプレフィックスで始まる最後のコマンドが表示されるようにするにはどうすればよいですか? 例えば $ ls foo $ echo hello $ ls <UP_ARROW> lsを入力した後でUPをクリックすると、「echo hello」ではなく「ls foo」が表示されます。


2
exiv2で特定のExif画像データ値を印刷する
exiv2などのツールを使用して画像Exif日付を印刷するにはどうすればよいですか? 私の目標は、画像の年と月を別々の変数に書き込むことです。私は本当に正規表現で出力を解析する必要がありますか、またはこのようなものの代替手段がありますか? exiv2 DSC_01234.NEF -ps | grep 'Image timestamp' | ...regex to parse the date

2
bash 4で利用できる新機能は何ですか?
今までbash3を使用していて、最新バージョンのコピーを入手した $ ./bash --version GNU bash, version 4.1.0(1)-release (i686-pc-linux-gnu) Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. $ バージョン3に対するバージョン4の主な変更点/機能追加は何ですか?
8 shell  bash 

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