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

Bashは、GNUプロジェクトのUnixライクなオペレーティングシステム用の無料のシェルです。



1
Konsoleにすべてのユーザーのkonsole -lsを呼び出させる方法
学生用のLinuxドメインを管理しています。学生はラボのワークステーションをグラフィカルモードで使用しますが、SSHやプログラミングの作業にはKDE上のKonsoleを使用することがよくあります。 私はKonsoleがログインシェルを起動するために-ls引数を使用するようにGUIを通して設定できることを知っています。しかし、私は学生とその教授たちに毎学期これをやらせる手間を省きたいと思います。 GUI Konsoleが自動的にログインシェルモードで起動するように、ワークステーション上でそれらの引数を設定できるコマンドラインからアクセスできる場所(設定ファイルなど)はありますか? ありがとうございます。

1
OSXターミナルでタイトルテキストの色をプログラムで設定する方法
タブ付き端末ウィンドウで実行されるスクリプトがあります。このスクリプトは、次のようにしてタブのタイトルをテキストで更新します。 printf '\e]1;Some Text\a' これはうまくいきますが、さらに一歩進めて、特定の条件下でテキストを色付けしたいと思います。次のようにして、実際の端末のテキストの色を設定できます。 printf '\e[31mRed Text' しかし、これをタブのタイトルに適用する方法を理解することはできません。 ここには2つの質問があると思います。 ウィンドウ/タブのタイトルテキストの色を変更することさえ可能ですか(特にOSXのターミナルのために)? 可能であれば、これをスクリプトから実現するためにはどのような魔法が必要ですか。

2
LinuxでMySQLクエリの結果セットのファイル名をzipに渡す方法
私の問題はかなりまっすぐ進むものです、そして私は近いと思いますが正しい方向への後押しが必要です。 私はウェブサイトで使用されている多くのファイル名を含むMySQLテーブルを持っています。これらのファイルはすべてディレクトリに存在します。 images。私が達成しようとしているのは、できることです。 SELECT これらのファイル名の一部はさまざまな条件に基づいて作成されており、それらのファイルがあり、それらのファイルのみが.zipファイルに追加されています。 スペースを含むファイル名に問題があることにすぐ気付きました。そのため、ファイル名が引用符で囲まれるようにSQLクエリを変更しました。それで、私がやめたのは、 zip sample-images $(mysql -u username -pPassword -e "SELECT CONCAT('"', ifnull(products_image, ''), '"'), CONCAT('"', ifnull(products_image_2, ''), '"').... WHERE condition=true" db_name --silent --raw) これは私がデータベースで探しているすべてのファイル名のリストを(null値の空のエントリと共に)出力しますが、すべての行の結果は次のようになります。 zip warning: name not matched: "filename.jpg"。 誰かがこれを手伝ってくれる? 更新 私は問題がファイル名のエスケープと何かであると信じています。 CONCATが次のようになるように、クエリ内の二重引用符をエスケープしました。 CONCAT('\"', ifnull(products_image, ''), '\"'),.... それでも同じ結果が得られます。

0
バックグラウンドでのホットキーkill bashスクリプトの使用
シェルスクリプトがバックグラウンドで実行されている場合でも、押​​されたキーを検出するコマンドが必要です。 私が欲しいスクリプトは以下のコードととても似ています。 function key_pressed() { #This function that detects the key which is pressed #For example while the code runs in shell which is #minimized and in background it must be detect 'q' key to quick. #Also other programs run on foreground. And I press a key while #it is …
bash  shell 

2
端末に接続されていなくてもプロセスをLinuxで実行し続ける、Ctrl + Dソリューションは?
私は何年も使っています nohup または screen SSHで端末に接続した後もプロセスを実行し続けるために。だから私の友人の一人、LinuxまたはCSのグリーンハンドが私に言ったとき、それはかなり私を驚かせた Ctrlキーを押しながら + D (または exit )同じことをすることができ、そしておそらくもっとエレガントな方法で。 だからここにそれを行う方法があります:最初にいつものようにバックグラウンドであなたのプロセスを実行します & または使用 bgその後、端末から切断したいときは、 Ctrlキーを押しながら + D または exit ログアウトする 知っている Ctrlキーを押しながら + D または exit ログアウトするための非常に一般的な方法です。しかし、もう一度ログインすると、実行したばかりのプロセスが見つかります。信じられないかもしれませんが、私はショックを受けました。私は単純なデッドループのpythonスクリプトを含むいくつかの異なる状況でメソッドを試してみましたが、実際にはうまくいきました。 私はこれについていくつかの情報を検索しようとしましたが、みんなが話しているようです nohup または screen。私が話している方法は常識ですか?それはいくつかのシステムや環境のためだけの特定の機能ですか?それが一般的に利用可能であるならば、それからその意味は何ですか nohup?

1
Linux用のWindowsサブシステムsources.list
Windows 10バージョン1607(Anniversary Update)のsources.listファイルはどこにありますか? cmd>からうまくやれますbash> sudo nano /etc/apt/sources.list しかし、私はWindows 10でこのファイルを見つけることができないようです。 ファイルエクスプローラで検索しても結果が返されませんでした。

1
sudo bash -cが許可を拒否しました
私のlinux(centos 7)には、2人のユーザーA(一般ユーザー)とB(ホイールグループに所属)がいます。 ユーザーBで次のコマンドを実行して、ユーザーAの.bash_profileファイルを変更しようとしています。 ./test.sh /home/a/.bash_profile "何かエクスポート" #!/bin/bash set -o errexit filePath=${1}; content=${2}; result=`sudo grep "$content" $filePath || true`\ if [[ -z $result ]] || [[ $result == \#* ]]; then echo "inside the first if"; sudo sh -c "$(sed '$a\' ${filePath} > ${filePath}.bak)"; sudo sh -c "$(echo $content >> ${filePath}.bak)"; …


2
SFTP - 再帰的に新しいファイルを取得する
私はこのようなファイルシステムの削除構造を持っています: + /measure + / 2013-09 + / 2013-09-04 + / fooinstrument + result03343445845.csv + result03343445846.csv + / barinstrument + result03343445847.csv + result03343445848.csv それは階層構造でたくさんのファイルを含みます。私は持っています 読み取り専用 これへのアクセス SFTP (利用可能なCIFSのような他のプロトコルやサーバ上で実行されている特別なソフトウェアはありません) (それで、ソースホストにソフトウェアをインストールすることはできません。) 私は毎晩cronジョブを使って自分のデータベースにこれらのファイルをインポートしたいのです(cronジョブ自体は問題ありません)。だから、私はしたい すべての新しいファイルを再帰的にダウンロードする 私のローカルファイルシステムにそれから私のアプリケーション(コマンドラインパラメータとしてそのファイル名)にダウンロードされた各ファイルのパスを渡します、例えば: /usr/local/bin/myapp -import /srv/localstorage/result03343445845.csv この呼び出し myapp 重要な点ではありません。ダウンローダの出力を何らかのファイルにパイプ処理することによって、ダウンロードしたすべてのパスのリストを取得できる場合は、後でファイルリストを1行ずつ読み込んでアプリを起動できます。それは問題ありません。 元のディレクトリ階層は気にしません。私の主な目的は、ファイルをローカルファイルシステムに移動して、コマンドラインツールでファイル名を入力として使用できるようにすることです。したがって、サーバーによって与えられた深い階層の複製を持っているかどうか、またはすべてのファイルが同じディレクトリーに入るかどうかは、それほど重要ではありません。ファイル名はユニークな連載なので、後者はさらに興味深いかもしれません。したがって、すべてのファイルを1つのディレクトリにまとめて移動しても問題ありません。 + / localstorage + result03343445845.csv + result03343445846.csv + result03343445847.csv + result03343445848.csv …
linux  bash  scp  sftp  curl 

4
特定のシェルを使用しているユーザー数を出力するwhileループBashスクリプト
そこで、/ etc / passwdから入力を受け取り、bash、nolongin、csh、およびkshを使用しているユーザー数を出力する、bashスクリプトのwhileループ関数を作成しようとしています。私は猫とカットを使うことになっていると思います。そして私は、ユーザーが使用するシェルのタイプが7番目のフィールドにあることを知っています。 シェルの種類ごとに変数を作成し、その特定のシェルを使用するユーザーが見つかるたびに変数を増やす必要があると考えるのは正しいですか。 これまでのところ、これは私が持っているコードですが、何らかの理由でそれは最後のifステートメントを出力するだけです.. declare -i bash; declare -i nologin; declare -i csh; declare -i ksh; bash=0; nologin=0; csh=0; ksh=0; cat /etc/passwd | cut -d: -f7 $line | while read line; do if [ $line == "bash" ] then bash=bash+1; else fi [ $line == "/sbin/nologin" ] then …

1
Linux Bulkは、メディアファイルとディレクトリの名前を、ファイル名とディレクトリ名の末尾に年の前後に括弧を付けるように変更します。
ビデオが撮影された年を示すために、ディレクトリ名の末尾に年がある、さまざまなディレクトリにホームビデオファイルがいくつかあります。それはまたそのディレクトリのファイル名の最後で拡張子の前にあります。一年中かっこで囲みたいです。 ファイルやディレクトリの中には、他の位置にファイル名の年(または年のように見える数字)があるものもありますが、最後に年を括弧で囲みたいだけです。たとえば、ここにディレクトリの1つがあります。 Videos/Xmas 2004 - Time To Go 2004 含まれています: Xmas 2004 - Time To To 2004.mp4 Xmas 2004 - Time To Go 2004.txt Xmas 2004 - Time To Go 2004.readme この命名システムになるように、すべてのメディアファイルの名前を一括で変更します。 Videos/Xmas 2004 - Time To Go (2004) 含む Xmas 2004 - Time To To (2004).mp4 Xmas 2004 - …
linux  bash  find  rename  mv 

1
ディレクトリが$ PATHにあるのにコマンドが見つかりません[closed]
私は自分の$パス上にあるはずのプログラムを実行するのに問題がありますが、そうではないようです。フルパスで実行しても問題はありませんが、実行可能ファイルを呼び出すだけでは、command not foundと表示されます。これはディレクトリが私のパス上にあるにもかかわらずです。権限は私が見ることができる限りは問題ありません、そして私は運なしでそれをいくつかの異なる場所に移動しようとしました。 これは問題のスナップショットです、minizincは問題の実行可能ファイルです。 $ echo $PATH /usr/local/heroku/bin:/usr/local/minzinc/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games $ minizinc minizinc: command not found $ /usr/local/minizinc/bin/minizinc minizinc: no model file specified minizinc: use --help for more information. $ ls -l /usr/local/minizinc/bin/minizinc -rwxr-xr-x 1 root root 2747036 2012-10-20 12:51 /usr/local/minizinc/bin/minizinc 私はubuntu 11.04を実行していて、bashをシェルとして使用しています。
ubuntu  bash  path 

1
crontab -lファイルへの出力
自動的にチェックして追加するために、現在のcrontabをファイルに出力できるようにしたいです。 crontab -l > somefile 空のファイルを作成します。これを行う簡単な方法があるはずですよね?

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