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

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

2
Bash正規表現キャプチャグループ
文字列から複数の英数字値(この数値は異なる場合があります)を照合し、bashキャプチャグループ配列に保存しようとしています。しかし、私は最初の一致のみを取得しています: mystring1='<link rel="self" href="/unix//api/clouds/1/instances/1BBBBBB"/> dsf <link rel="self" href="/unix//api/clouds/1/instances/2AAAAAAA"/>' regex='/instances/([A-Z0-9]+)' [[ $mystring1 =~ $regex ]] echo ${BASH_REMATCH[1]} 1BBBBBB echo ${BASH_REMATCH[2]} ご覧のとおり、最初に探している値と一致しますが、2番目の値とは一致しません。

5
「>」という名前のファイルを削除するにはどうすればよいですか?
私は、誤動作し、sudoという名前のファイルを作成するために使用するPythonスクリプトを実行していました>。 このファイルを削除するにはどうすればよいですか? もちろん、私がしようとするとsudo rm >、エラーが発生しますbash: syntax error near unexpected token 'newline'。これは、の出力をリダイレクトしようとしていると思われるためですrm。 その許可は-rw-r--r--です。
22 bash  quoting  filenames  rm 

1
ターミナルカラーエスケープシーケンスはbashのどこでも定義されていますか?
私はBashスクリプトで色を頻繁に使用しました(ほとんどはCentOSで)が、より使いやすくするために、変数を色の値に再定義することになりました。 local GRAY="\[\033[1;30m\]" local LIGHT_GRAY="\[\033[0;37m\]" local CYAN="\[\033[0;36m\]" local LIGHT_CYAN="\[\033[1;36m\]" local NO_COLOUR="\[\033[0m\]" またはともtput: bold=`tput bold` normal=`tput sgr0` whitef=`tput setaf 7` greenf=`tput setaf 2` redb=`tput setab 1` /etc/rc.d/init.dディレクトリの周りをgrep'edしましたが、色の定義に関連するものはそこに見つかりませんでした。 すでにそのような定義はありますか?そうでない場合は/etc/rc.d/init.d、たとえばファイルに入れて、スクリプトに含めるようにします。/etc/rc.d/init.d/functions
22 bash  terminal  colors 

2
複数の拡張子を持つファイルをコピーする
複数の拡張子を持つファイルを単一の宛先ディレクトリにコピーしたいと思います。 たとえば、次のコマンドを使用して、作業ディレクトリ内のすべての.txtファイルをというディレクトリにコピーできますdestination。 cp -v *.txt destination/ そして、以下を使用して、作業ディレクトリ内のすべての.pngディレクトリをにコピーできますdestination。 cp -v *.png destination/ ただし、これらを個別のコマンドとして入力するのは時間がかかります(コマンド履歴を使用する場合でも)。だから、私が言うことができることをどのような方法があるcpパターンのいずれかでファイルをコピーする*.txt か、パターン*.pngにはdestination? 理想的には、3つ以上のパターンを指定できるようにしたいと考えています。たとえば、cpすべて*.txt または *.png または *.jpgファイルをにコピーするように指示するdestinationなどです。 これはすべて、シェルスクリプトを使用して可能になると確信しています(bashたとえば、を使用しています)が、コンソールからのみ、より簡単に実行する方法はありますか?何とかしてブレース拡張を使用してそれを行うことはできますか? 特定の特定のパターンに一致するファイルを除く、作業ディレクトリ内のすべてのファイルをコピーできることは知っていますが、作業ディレクトリには、コピーしたくないファイル拡張子がはるかに多く含まれているため、苦労します。 これについて何か考えはありますか?
22 bash  shell  wildcards  cp 

3
Bashの2つの文字列を比較する
ifbashスクリプトに次のブロックがあります。 if [ ${PACKAGENAME} -eq kakadu-v6_4-00902C ]; then echo "successfully entered if block!!" fi に等しいifにもかかわらず、スクリプトの実行がブロックに入りません。私は何を間違えていますか?$PACKAGENAMEkakadu-v6_4-00902C

3
変数を文字列またはintとして比較するときに大きな違いはありますか
好奇心から、bash変数の比較(値はinteger)を行う場合、an intまたはaとして宣言された定義済みの値に対してテストできstringます。 サンプルスクリプト: #!/bin/bash f1() { [ "$1" == "1" ] && echo "$FUNCNAME: \"1\" compared as string" } f2() { [[ "$1" -eq 1 ]] && echo "$FUNCNAME: \"1\" compared as int" } f1 $1 f2 $1 出力: $ ./param.sh 1 f1: "1" compared as string f2: "1" compared …
22 bash  shell  test 

2
bashスクリプトからgnome端末の背景/テキストの色を設定
#002b36bashスクリプトを使用して、ubuntu 13でgnome端末のbackground()と前景色を設定したいと思います。 試しましgconftoolたが、成功しませんでした。 GCONFTOOL-2(1) User Commands GCONFTOOL-2(1) NAME gconftool-2 - GNOME configuration tool 私のgnome terminalバージョンは $ gnome-terminal --version GNOME Terminal 3.6.1 現在、私はこれを達成するためにubuntu端末設定UIを使用しています。

2
コマンドから出力されたすべてのファイルを移動するにはどうすればよいですか?
添付ファイルという単語のないファイルを見つけるために、このgrepコマンドがあります。 grep -L -- Attachments * そのコマンドから出力されるすべてのファイルを移動したい。それをbashでどのように行うのですか?パイプを使用しますか?完全なスクリプトで、より冗長なif / thenステートメントを使用しますか?

2
Bashは手動で開始しない限り.bashrcを読み取りません
bash.bashrc手動でbash端末から実行しない限り、対話型端末からソースを取得しません。 $ bash または手動でそれを入手します: $ source ./.bashrc または実行中: $ st -e bash 私が望むいくつかの有用な出力を以下に示します。 $ echo $TERM st-256color $ echo $SHELL /bin/sh $ readlink /bin/sh bash $ shopt login_shell login_shell off 私はCRUX Linux 3.0を使用していますがdwm、とを使用していstます。使用.bash_profileしてみました.profileが、成功しませんでした。 何か案は?
22 linux  bash  shell  bashrc 

1
フォークボムはどのように機能しますか?
警告は、生産マシンでこれを実行しようとしないでください トピックに関するウィキペディアのページを読むとき、私は通常、次のコードで何が起こっているのかを追跡します。 :(){ :|:& };: 説明の抜粋 次のフォーク爆弾は、2002年に芸術として発表されました。56 その正確な起源は不明ですが、2002年より前にUsenetに存在していました。爆弾は、次の13文字をbashやzshなどのUNIXシェルに貼り付けることで実行され ます。「:」という関数を定義して動作します。この関数は、フォアグラウンドで1回、バックグラウンドで1回の2回呼び出されます。 ただし、最後の部分は完全には明確ではありません。関数定義が表示されます: :(){ ... } しかし、他に何が起こっていますか?また、のような他のシェルを行うksh、cshとtcshも似たようなを構築することができるという同じ運命に苦しみますか?
22 bash  shell-script  zsh  fork 


7
bashおよびzshの二重および三重置換
この質問の背景部分へのフォローアップ。 で、二重置換にbash使用できます。両方で、旧式(hack-y)が機能します。${!FOO}zsh ${(P)FOO}eval \$$FOO したがって、私にとって最も賢明で最も論理的なことは${${FOO}}, ${${${FOO}}}…、double / triple / n置換です。なぜこれが期待どおりに機能しないのですか? 第二:何をするん\で行うevalの文?私はそれが脱出であり、eval \$$$FOO不可能なことをしていると考えています。すべてのシェルで動作するトリプル/ n置換を行う方法は?

1
複数の履歴コマンドを再実行します
十数個のコマンドを実行しただけだと想像してください。いう... $ cd foo/ # history cmd #10000 (my history is very long) $ ... more commands ... $ cd ../ # history cmd #10012 私は、彼らがと連結再実行することができます知っている!-12 && !-11 && !-10 && (and so on) && !!、彼らが持って起こる場合だけとなって実行(そう)かを!10000 && !10001 && !10002 && (and so on)、しかし、強打とアンパサンドで、各履歴番号を手は、入力するよりも簡単な方法はありますか? おそらく私がbashで気づいていない範囲の種類がありますか? たとえば、!{10000-10012}#このようなもので、動作しているだけです。

9
検索を使用してファイルを移動するときにディレクトリ構造を保持する
ソースディレクトリから宛先ディレクトリに定義された古いファイルを移動する次のスクリプトを作成しました。完璧に機能しています。 #!/bin/bash echo "Enter Your Source Directory" read soure echo "Enter Your Destination Directory" read destination echo "Enter Days" read days find "$soure" -type f -mtime "-$days" -exec mv {} "$destination" \; echo "Files which were $days Days old moved from $soure to $destination" このスクリプトはファイルを大きく移動します。また、ソースサブディレクトリのファイルも移動しますが、サブディレクトリを宛先ディレクトリに作成しません。この追加機能を実装したいと思います。 例付き /home/ketan : source directory …

2
nohupが出力をファイルnohup.outとscreen / terminalの両方に書き込むことは可能ですか?
bashシェルを使用しています。nohupプロセスを開始したシェル/ターミナルを閉じたときにプロセスが停止しないようにするために頻繁に使用します。私は次のような構文を使用します: nohup myprocess 起動すると、次nohupのメッセージが表示されます。 nohup: ignoring input and appending output to 'nohup.out' 次に、nohup画面に出力を表示しません。すべてに書かれていnohup.outます。 しかし、頻繁に、計算の進行状況を監視したいと思います。またはnohup.outを使用して読み取ることでこれを行うことができますが、特に計算に数時間かかる場合、これを行うには時間がかかります。 vitail (インターネット接続が失われ、プロセスを開始した端末が閉じられた場合)と画面の両方に 出力を印刷nohup.outする方法はありますか?御時間ありがとうございます。
22 bash  shell  nohup 

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