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

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

4
UNIXで5日より古いファイルを削除する(タイムスタンプではなくファイル名の日付)
5日以上経過したログファイルをディレクトリから削除したい。ただし、削除はファイルのタイムスタンプに基づくべきではありません。ファイルの名前に基づいている必要があります。例今日の日付が2012年7月5日で、ディレクトリのような名前の10個のファイルが含まれているためにABC_20120430.log、ABC_20120429.log、ABC_20120502.log、ABC_20120320.logなどのIをファイル名から日付を抽出してファイルを削除できるようにしたいです。
10 bash  sed  rm 


2
デフォルトの配列をBashの変数に書き込む
私は期待していました excludes="${excludes:-( ${default_excludes[@]} )}" $excludesが空の場合は配列になります。残念ながら、後のもの:-は文字列と見なされます。構文のゆがみを逃したのですか、それとも不格好なものを使用する必要がありますか if [ -z "${excludes:-}" ] then excludes=( "${default_excludes[@]}" ) fi ?
10 bash  array 

5
Bashでsuを使用して複数のコマンドを実行する
su -c複数のコマンドをまとめてrootとして実行したいのですが。これに追加のスクリプトを使用したくありません。 私は以下を試しました: su root -c "tcpdump -i wlan0 -s 1500 -w CCCCCC & " -c "ls -lh" ただし、実行されるのlsは最初のものだけではありません。 私は以下を試しました: su root -c "tcpdump -i wlan0 -s 1500 -w CCCCCC & ; ls -lh;" セミコロンにエラーがあると書いてあります;。 それを行う方法を知っていますか?
10 bash  su 


4
bash:スペースを含むファイルの移動
ファイル名にスペースを含む単一のファイルを移動すると、次のように機能します。 $ mv "file with spaces.txt" "new_place/file with spaces.txt" スペースが含まれている可能性のあるファイルのリストがあり、それらを移動したいと思います。例えば: $ echo "file with spaces.txt" > file_list.txt $ for file in $(cat file_list.txt); do mv "$file" "new_place/$file"; done; mv: cannot stat 'file': No such file or directory mv: cannot stat 'with': No such file or directory mv: cannot stat 'spaces.txt': …
10 bash  files  mv 

4
SSHセッション内のSSH中の複数のコマンド
リモートmasterマシンへのSSHセッションを作成し、次にmasterから各リモートへの別の内部SSHセッションを作成することになっているローカルマシンがありslaves、2つのコマンドを実行して、特定のディレクトリを削除して再作成します。 ローカルマシンにはマスターへのパスワードなしのSSHがあり、マスターにはスレーブへのパスワードなしのSSHがあることに注意してください。また、すべてのホスト名は.ssh/configローカル/マスターマシンで認識されslaves.txtており、スレーブのホスト名はローカルにあり、そこから読み取ります。 だから私がやっていることはこれです: username="ubuntu" masterHostname="myMaster" while read line do #Remove previous folders and create new ones. ssh -n $username@$masterHostname "ssh -t -t $username@$line "rm -rf Input Output Partition"" ssh -n $username@$masterHostname "ssh -t -t $username@$line "mkdir -p EC2_WORKSPACE/$project Input Output Partition"" #Update changed files... ssh -n $username@$masterHostname "ssh -t -t …
10 bash  ssh  amazon-ec2  read 


2
パラメータまたはパイプからの入力を受け入れるBash関数
次のbash関数を、引数またはパイプから入力を受け入れることができるように記述したいと思います。 b64decode() { echo "$1" | base64 --decode; echo } 望ましい使用法: $ b64decode "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" $ b64decode < file.txt $ b64decode <<< "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" $ echo "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" | b64decode
10 bash  pipe  function  stdin 

2
/ bin / falseを実行できません:そのようなファイルまたはディレクトリはありません
Mac OSで次のコマンドを使用してGNU Screenを開こうとしています。 host:~ user$ screen screenターミナルが開きますが、すぐにエラーメッセージが表示されて終了します。 / bin / falseを実行できません:そのようなファイルまたはディレクトリはありません 端末がbash起動時にシェルを開くように構成されています。端末シェルをに設定しようとしましshたが、同じエラーが発生します。 しかし、screenコマンドをとして実行するとsudo、コマンドは成功します。 通常のユーザーの場合はどうすれば解決できますか?
10 bash  shell  osx 

3
Bashブレース展開で変数を使用できますか?
以下は、私が達成しようとしていることに対するある種の疑似コードです: #!/bin/bash # I already have the variable below figured out (positive integer): numlines=$([returns number of lines containing specific characters in a file]) # This is basically what I want to do with it: for i in {1..$numlines}; do # the part below is already figured out as well: do …

1
実際のGNOME Waylandセッション
「本物の」ウェイランドgnomeセッションをテストしようとしています。すべてのアプリケーションがWaylandでネイティブに実行できるわけではないことを知っています(このため、XWaylandがあります)が、少なくともGTK +アプリケーションで実行できるようにしたいと思っています。 だから、私は~/.profile含むファイルを作成しました export GDK_BACKEND=wayland export CLUTTER_BACKEND=wayland >>>編集:上記のコンテンツの代わりに~/.profile、Xとウェイランドの両方のセッションで機能するようにこれを追加できます。 WAY=$(ps -aux | head -n -1 | grep "/usr/bin/gnome-shell --wayland") if [ -z "$WAY" ]; then echo X11 else export GDK_BACKEND=wayland export CLUTTER_BACKEND=wayland fi <<< 次に、GDMログイン画面(Archlinux)からウェイランドのgnomeを選択します。 準備ができたら、(たとえば)nautilusを起動し(通常はターミナルからではなくダッシュから)、覗き窓を開いて「windows」セクションを選択し、nautilusウィンドウをクリックするとGType:MetaWindowWayland、Nautilusが実際に実行されていることがわかりますXWaylandの代わりにWaylandで。素晴らしい! ただし、GType:MetaWindowX11鏡からもう一度gnome-sellエントリを選択すると、シェルがXWaylandで実行されていることがわかります。 MutterはWaylandで実行されているようです(たとえば、XとWの間のクリップボードはまだ機能しません)。ログイン後に起動したすべてのGTK +アプリもWaylandで実行されています(GType:MetaWindowWayland)が、gnome-shellはまだX11です。 私の推測では~/.profile、セッションの開始時にgnome-shellは考慮に入れていません。多分それはユーザーではなくシステムによって開始されたからでしょうか?だから多分私は追加する必要があります export GDK_BACKEND=wayland export CLUTTER_BACKEND=wayland どこか別の場所?
10 bash  gnome  wayland 

3
Linuxカーネルのビルド構成を自動化するスクリプトmake menuconfigの方法は?
Linuxビルドを自動化したいのですが、最終的には非常に手動のステップのように見えるものを実行する必要がありますmake menuconfig。これは、OSとカーネル構成の間で構成を同期しているようですか? cp git-tracked-config .config make defconfig make menuconfig # <- how to automate/script this? make V=s 基本的に、make menuconfigビルドスクリプトの呼び出しを削除するにはどうすればよいですか? 余談ですが、これはmake menuconfigを呼び出さずに実行したときに発生するように見えるビルドエラーに対する反応です。 make[1]: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'. Stop. おそらくメイクファイル自体が存在しないか、メイクファイルがそのルールを含むように生成/モーフィングされていないために、メイクファイルにルールがないようですが、それは別の質問です。 これをまとめて取り組むためのよりスマートな方法があるかもしれません。追跡していないけれどもすべき他の設定はありますか(例:oldconfig)?


5
読み取り専用のTMOUT変数–アクティビティがないときにシェルを自動的に終了することを無効にする回避策
ここには読み取り専用のBash変数があります。その変数の設定を解除することはできません。 $ echo $TMOUT 1800 回避策として、これらの行を書きました(私のセッションは終了しません) #!/usr/bin/perl $|++; while (1) { print "\e[0n"; sleep 120; } CentOS7 / RHEL7リポジトリに(上記のPerlコードのように)同様のことをする公式パッケージ(rpm)はありますか?vimエディターを開くのは好きではありません。コマンドが必要です。
10 bash  rpm  repository  timeout 

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