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

Bash(Bourne-Again SHell)は、Ubuntuのコマンドラインインターフェースでデフォルトで使用されるシェルです。

4
let、expr、$ []の違い
私は正確に何が違いますか知りたいです a=$[1+1] a=$((1+1)) let a=1+1 a=$(expr 1 + 1 ) 4つすべてが変数aに2を割り当てますが、違いは何ですか? 私がこれまでに発見したことから、exprは実際のシェル組み込みではないため、遅いということです。しかし、それ以上のものはありません。
23 bash 

3
すべての隠しファイルをグロブするにはどうすればよいですか?
chownディレクトリ内のすべての隠しファイルに対して何らかのアクション(たとえば)を実行します。 私はこれがあることを知って.*いるではない、それはまた、現在見付けるので、良いアイデア.と親..ディレクトリを(私が知っているrm上で動作しなくなります.し、..他のコマンドを含むchownとchmod、喜んで有効になります) しかし、すべての隠しファイルには異なる名前が付いています! .and を除外しながら、すべての隠しファイルをグロブするにはどうすればよい..ですか


3
uniqコマンドが正しく機能していませんか?
だから私はmd5これを出力としてファイルのハッシュをチェックしています: 657cf4512a77bf47c39a0482be8e41e0 ./dupes2.txt 657cf4512a77bf47c39a0482be8e41e0 ./dupes.txt 8d60a927ce0f411ec94ac26a4785f749 ./derpina.txt 15f63928b8a1d5337137c38b5d66eed3 ./foo.txt 8d60a927ce0f411ec94ac26a4785f749 ./derp.txt しかし、find . -type f -exec md5sum '{}' ';' | uniq -w 33一意のハッシュを見つけるために実行した後、私はこれを取得します: 657cf4512a77bf47c39a0482be8e41e0 ./dupes2.txt 8d60a927ce0f411ec94ac26a4785f749 ./derpina.txt 15f63928b8a1d5337137c38b5d66eed3 ./foo.txt 8d60a927ce0f411ec94ac26a4785f749 ./derp.txt 私の理解からは、いずれか一方のみの1 derpina.txtかは、derp.txtそのハッシュが同じであるため、最大表示されなければなりません。何か不足していますか?なぜそれがこのように出力されるのかについて私を啓発できますか?

5
同じ名前でエイリアスされた元のコマンドを実行するにはどうすればよいですか?
これでエイリアスされlsた~/.bashrcファイル内のコマンドのエイリアス: alias ls='ls --color=auto' その後、ls端末でコマンドを実行すると、エイリアスls(ls --color=auto)が実行されます。しかし、私の質問は、余分な引数なしで、エイリアスエントリを削除する問題を解決せずにls、オリジナルだけをls単独で実行するにはどうすればよいですか?このエントリを削除すると、簡単に実行できるためlsです。

5
複数のテキストファイルの5行目の文字列を置き換える方法は?
単一のターミナルコマンドを使用して、複数のテキストファイルの5行目(file1.txt、file2.txt、file3.txt、file4.txt)を文字列「Good Morning」に置き換えたいと思います。 すべてのテキストファイルはにあります~/Desktop。 注:私のデスクトップは6つの.txtファイルで構成されています。上記の4つのテキストファイルのみに変更を適用したいです。


6
bashスクリプト内からファイルを開くにはどうすればよいですか?
わかりましたので、実行gedit myfile.txtはうまく動作します。しかし、ファイルタイプにリンクされたデフォルトのデスクトップアプリを使用して、bashスクリプト内からファイルを開くのはどうでしょうか? 私は以下を試しましたが、ターミナルで手動で実行するとうまくいきますが、bashファイルに入れても何も起こりません: #!/bin/bash xdg-open "myfile.txt"& 代わりに何をすべきですか? ターミナルを閉じた後もファイルを開いたままにしておく必要があることに注意してください。
22 bash  xdg-open 

3
パイプとアンパサンドでgrepを使用して、findからエラーをフィルタリングする
cygdriveでファイルを見つけるためにcygwinを使用しています。 ただし、アクセス許可が拒否されたメッセージを抑制する必要があります(そうでない場合、結果はエラーメッセージに隠されます)。次のコマンドが機能します。 find -name 'myfile.*' |& grep -v "Permission denied" アンパサンドをこのコマンドに入力する必要がある理由がわかりません。これは機能するはずですが、機能しません。 find -name 'myfile.*' | grep -v "Permission denied" アンパサンドの意味を説明してください。
22 bash  command-line  find  grep 

5
Dropboxでマシン間で.bashrcを共有することへの影響?
私は多くの異なるマシンで作業しています。すべてがUbuntuを実行しています(常に同じバージョンではありません)。すべてのマシンで利用できるようにしたいプロンプトに対して、いくつかの本当に基本的なカスタマイズがあります。 現在、Dropboxを使用して、.vim / .vimrc .gitconfig .ackrcなど、他のすべての「ドットファイル」をそこに保存します。次に、Dropboxフォルダーからホームフォルダーにリンクします。Voilà、すべてのマシンが同期しています。 私のbashrcでこのようなことを行うことの影響は何かわかりません。誰でも提案を提供できますか?たぶん、bashrcに別のファイルをロードする簡単な方法でしょうか?
22 bash  dropbox 

3
`ls -l`の出力からフィールド/列を選択するにはどうすればよいですか?
私の目標は一見シンプルです(少なくとも私にとって)。ls -lまたはの出力を取得し、ls -lh1つのフィールドのみを選択します。 私はこれを可能な限り防弾とすることを探しています。つまり、ファイル名には可変数のスペースを含めることができ、フィールド内のすべてが同じ長さであるとは限らないと想定しています フィールドの名前(または単にフィールド番号)を取得し、フィールドの内容を返すスクリプトを作成することのボーナスポイント。 回したい に:

7
Bashの前の出力を追加する代わりに上書きする
bashタイマーの場合、このコードを使用します。 #!/bin/bash sek=60 echo "60 Seconds Wait!" echo -n "One Moment please " while [ $sek -ge 1 ] do echo -n "$sek " sleep 1 sek=$[$sek-1] done echo echo "ready!" それは私にそのような何かを与えます One Moment please: 60 59 58 57 56 55 ... 秒の最後の値を最新のものに置き換えて、出力が大きな軌跡を生成せず、ある位置でリアルタイムのような秒のカウントダウンを生成する可能性はありますか?(私の意味を理解してください:))

3
スクリプトでバックグラウンドでrootとしてOpenVPNを実行するにはどうすればよいですか?
openvpn最初に呼び出し、次にを呼び出すスクリプトを作成したいと思いsshます。コマンドを入力するとき sudo openvpn ~/my_connection.ovpn コマンドプロンプトで次の出力を取得します。 ... Wed Jan 4 21:04:35 2017 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0 Wed Jan 4 21:04:35 2017 /sbin/ip link set dev tun0 up mtu 1500 Wed Jan 4 21:04:35 2017 /sbin/ip addr add dev tun0 local IP_FOO peer IP_FOO Wed Jan 4 21:04:35 2017 Initialization Sequence Completed このコマンドはブロックされており、シェルは解放されていません。後でssh接続を開始するには、Ctrl+にZ続けてbg。を入力してopenvpnプロセスをバックグラウンドにプッシュする必要があります。 …

3
複数のシーケンシャルコマンドの出力をテキストファイルに書き込む
最新のFirefoxをチェックして、1つのTXTファイルですべてのハッシュを取得しようとしています。 私がやろうとしているのは: sha1sum firefox.tar.gz > sha.txt そして私も試してみます: md5sum firefox.tar.gz > sha.txt | sha1sum firefox.tar.gz > sha.txt | sha512sum firefox.tar.gz > sha.txt ただし、この場合は最後のsha512のみがsha.txtに出力されます。 何が間違っていますか?誰かが私を助けてくれますか?

1
環境変数はbashスクリプトでアクセスできません
私は奇妙な問題に遭遇しました。私はいくつかのenv変数を入れました.bashrc、そして、それはそうするべきです: echo $HADOOP_HOME /home/me/dist/hadoop ただし、bashスクリプトを実行する場合、env変数にはアクセスできません。/tmp/sample.sh以下のコンテンツで作成するとします: #! /bin/bash echo $HADOOP_HOME 上記のスクリプトを実行すると、空の行がエコーされます。 /tmp/sample.sh ‌

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