Windows10 + MKEditorでカーソルが消える問題の対処

May 5,2021 11:55 PM
Category:[Windows]
Tag:[MKEditor, Windows]
Permalink

Windows10 + MKEditorでカーソルが消える問題の対処方法を紹介します。

1.問題点

Windows10でMKEditorを使っていると、文字を入力したタイミングでカーソルが消えてしまいます。

下のキャプチャでは、文字のところにあるはずのカーソルが表示されていません。

キャプチャ

が、原因が分かりません。

ということで、Windows10 + MKEditorでカーソルが消える問題の対処方法を紹介します。

2.カーソルが消える問題の対処方法

「設定」アイコンをクリック。

「時刻と言語」をクリック。

左メニューから「言語」をクリック。

「優先する言語」より「日本語」をクリック。

「オプション」をクリック。

「キーボード」の「Microsoft IME」をクリック。

「オプション」をクリック。

「全般」をクリック。

下の方にある「互換性」の「以前のバージョンのMicrosoft IMEを使う」をオンにします(下はオフの状態)。

これで「オン」になりました。

MKEditorで新しく開いたタブについてはカーソルが表示されるようになりました。


Comments [0] | Trackbacks [0]

ブログ「小粋空間」をSSL化しました

May 1,2021 3:55 PM
Category:[blog]
Tag:[SSL]
Permalink

遅ればせながら、ブログ「小粋空間」をSSL化(http→https)しました。

ブログ「小粋空間」をSSL化

当ブログはMTを利用しているので、以下、SSL化で作業した内容を残しておきます。

SSL証明書の取得・設定方法は別エントリーします。

1.方針

SSL化でどの部分からhttpをhttpsに変更すればいいか?という問題ですが、基本的な動作として、

  • httpでアクセスして、中にあるhttpsの画像はOK
  • httpsでアクセスして、中にあるhttpの画像はNG

ということで、最初にページ内のhttpをhttpsに変更し、一番最後に.htaccessでのリダイレクトをすることにしました。

2.サイトURLの変更

MT管理画面の「設定」→「全般」の「サイトURL」を「http://」から「https://」に変更。これでサイト内記事へのリンクはすべて変更。

サイトURL

MT6までの場合は、ウェブサイトの「設定」→「全般」→「ウェブサイトURL」で変更(ブログの「ブログURL」ではプロトコルを変更できないので注意)。

3.記事内のimg要素・a要素の変更

記事に含まれる、a要素およびimg要素等に含まれるサイト内のURL、

http://www.koikikukan.com/

https://www.koikikukan.com/

に変更。

プロトコルを表記しない、

//www.koikikukan.com/

に変更する案も考えましたが、調べたところ、Googleで非推奨ということを知り、httpsを明記。

参考:Google HTML/CSS Style Guide()

Always use HTTPS (https:) for images and other media files, style sheets, and scripts, unless the respective files are not available over HTTPS.
 
<!-- Not recommended: omits the protocol -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
 
<!-- Not recommended: uses HTTP -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<!-- Recommended -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>

4.canonicalの変更

link要素の"rel=canonical"は、インデックスして欲しいURLを検索エンジンに伝える役割があるようです。

変更前

<link rel="canonical" href="http://www.koikikukan.com/" />

変更後

<link rel="canonical" href="https://www.koikikukan.com/" />

実際はMTタグで表現しているので自然体で変更。

5.jsファイルのURL変更

ここまでの変更でhttpsでアクセスすると、jQueryで埋め込んでいた折りたたみが動作しなくなったので、Chromeのコンソール機能でエラーを確認し、該当のjsファイルに直書きしているURLのhttp://をhttps://に変更。

例えば、

変更前

var calendar_url = "http://www.koikikukan.com/";

変更後

var calendar_url = "https://www.koikikukan.com/";

6.その他のURL

テンプレートファイルのアドセンスに含まれる"http://"を"https://"に変更。

Amazonアソシエイトのリンクはhttpsに変更するとエラーになるため放置。

7.サイトマップの追加

Google Search Consoleに読み込ませるサイトマップ(sitemap.xml)を出力。

厳密には、"http://"で出力されているサイトマップはそのままにして、インデックステンプレートで生成するサイトマップのファイル名を、別のファイル名(sitemap2.xml等)に変更して再構築。

Google Search Consoleは、"http//www.koikikukan.com/"で登録していプロパティは、https用に移行できないため、"https//www.koikikukan.com/"のプロパティを新たに追加し、そこに前述のサイトマップを指定します。

8.再構築

ここまでの作業で個別に"https://"指定でブログのトップページや記事ページが概ね正常に表示されることを確認し。すべてのページを再構築。

この時点では、外部から"http://"でアクセスされても表示が崩れることはありません。

ただし、アクセスされたページから、さらに他のサイト内ページに遷移すると、"https"//でのアクセスになります。

9..htaccessでのリダイレクト

最後にHTTPからHTTPSにリダイレクトするために、.htaccessに下記のディレクティブを追加。

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

追加したあと、ブラウザから"http://"でアクセスして、"https://"にリダイレクトされることを確認。

10.おまけ

HTML要素のxmlnsをprefixに変更しました。

変更前

<html lang="ja"
      xmlns:og="http://ogp.me/ns#"
      xmlns:fb="http://www.facebook.com/2008/fbml">

変更後

<html lang="ja"
      prefix="og: http://ogp.me/ns#"
      prefix="fb: https://ogp.me/ns/fb#"">

11.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

Linuxにnkfをインストールする方法

April 22,2021 11:55 PM
Category:[Linux]
Tag:[Linux, nkf]
Permalink

Linuxにnkfをインストールする方法を紹介します。

1.はじめに

nkfは「Network Kanji Filter」の略で、ターミナル上で文字コード変換やURIエンコード等が行える便利ツールです。

2.nkfのインストール

公式サイトの「Download」より、nkfの最新版のアーカイブをダウンロード(2021年4月時点の最新版はnkf-2.1.5.tar.gz)。

https://osdn.net/projects/nkf/

アーカイブをLinuxサーバにアップロード。

ターミナルでログインし(以下rootユーザー)、アーカイブを展開します。

[root@www123i ~]$ tar -zxvf nkf-2.1.5.tar.gz
nkf-2.1.5/
nkf-2.1.5/nkf32.h
nkf-2.1.5/.gitignore
nkf-2.1.5/Makefile
nkf-2.1.5/nkf.1
nkf-2.1.5/INSTALL
 :
nkf-2.1.5/NKF.mod/Makefile.PL
nkf-2.1.5/NKF.mod/README
nkf-2.1.5/NKF.mod/MANIFEST
nkf-2.1.5/man/make_doc.sh
nkf-2.1.5/man/nkf.1.pm
nkf-2.1.5/man/nkf.1j.pm

アーカイブしたディレクトリに移動

[root@www123 ~]$ cd nkf-2.1.5

"make"を実行。

[root@www123 nkf-2.1.5]# make
cc -g -O2 -Wall -pedantic -c nkf.c
cc -g -O2 -Wall -pedantic -c utf8tbl.c
cc -g -O2 -Wall -pedantic  -o nkf nkf.o utf8tbl.o

"make install"を実行。

[root@www123 nkf-2.1.5]# make install
mkdir /usr/local/bin
mkdir: cannot create directory `/usr/local/bin': File exists
make: [install-main] Error 1 (ignored)
cp -f nkf /usr/local/bin/
mkdir /usr/local/man
mkdir /usr/local/man/man1
cp -f nkf.1 /usr/local/man/man1/
mkdir /usr/local/man/ja
mkdir /usr/local/man/ja/man1
cp -f nkf.1j /usr/local/man/ja/man1/nkf.1

これでインストール完了です。

3.テスト

URIエンコードのテストを行います。

[root@www123 nkf-2.1.5]# echo 'テスト' | nkf -WwMQ | tr = %
%E3%83%86%E3%82%B9%E3%83%88
Comments [0] | Trackbacks [0]

新しく作ったサイトをGoogleに検索してもらう方法

April 19,2021 11:55 PM
Category:[Google検索]
Tag:[Google]
Permalink

新しく作ったサイトをGoogleに検索してもらう方法を紹介します。

これまでにサイトはいくつか登録したことがありますが、久しぶりの登録で手順を忘れてしまったので、最新の登録方法を備忘録で残しておきます。

1.問題点

ドメインを取得して新しいサイトを作りました。

ただ、作っただけではGoogle検索の検索対象になりません。

が、どうすればGoogle検索の検索対象になるのか分かりません。

ということで、新しく作ったサイトをGoogleに検索してもらう方法を紹介します。

2.新しく作ったサイトをGoogleに検索してもらう

新しく作ったサイトをGoogleに検索してもらうには、「Google Search Console」を利用します。

ここではGoogleアカウントを持っていて「Google Search Console」が利用できる状態で説明を進めます。

「Google Search Console」の左上のメニューをクリックして「プロパティを追加」をクリック。

プロパティを追加

「URLプレフィックス」に、登録したいドメインを設定します。

登録したいドメインを設定

「続行」をクリック。

続行

HMTLファイルをダウンロードします。

登録したいドメインを設定

ダウンロードしたHTMLファイルを登録したいドメインにアップロードします。

アップロード後、「確認」をクリック。

確認

「所有権を証明しました」と表示されれば設定完了です。

所有権を証明しました

登録後、すぐにはクロールされませんので、1日程度待ちましょう。

Comments [0] | Trackbacks [0]

bashでbackspaceが動作しない場合の対処

April 11,2021 11:55 PM
Category:[bash]
Tag:[bash]
Permalink

bashでbackspaceが動作しない場合の対処方法を紹介します。

1.問題点

入力した文字を表示するという、簡単なスクリプト(test.sh)を作ってみました。

#!/bin/bash
 
while [ 1 ]; do
    read -p "> " line
    echo "$line"
done

このスクリプトで入力した文字をbackspaceで削除しようとすると、"^H"が表示されます。

# ./test.sh
>abc^H^H^H

ということで、bashでbackspaceが動作しない場合の対処方法を紹介します。

2.原因

まず、"stty -a"を入力して、端末設定を表示(抜粋)します。

# stty -a
speed 38400 baud; rows 24; columns 98; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>;

1文字消去のキーバインドは、

erase = ^?;

となっていますが、bashのbackspaceは"^H"が割り当てられています。

このため、backspaceを押下しても、割り当てられたキーが存在しないため、1文字消去ではなく、"^H"がそのまま表示されると思われます。

3.対処

スクリプト実行時にsttyコマンドを実施して、eraseのキーバインドをbackspaceに変更します。

#!/bin/bash
 
stty erase '^H'
 
while [ 1 ]; do
    read -p "> " line
    echo "$line"
done

追加するのは、

stty erase '^H'

の部分で、"^H"はシングルクォーテーションで括ります。

あるいはそのままの文字を入力したい場合、クォートせずに、Ctrl-v → Ctrl-hを入力します。

3.元のキーバインドに戻す

スクリプト内で設定したキーバインドは、終了後のターミナルに伝播されませんが、何らかの原因で戻らない場合、スクリプトの最後に、

stty sane

あるいは、

stty erase '^?'

を入力します。

#!/bin/bash
 
stty erase '^H'
 
while [ 1 ]; do
    read -p "> " line
    echo "$line"
done
 
stty sane

'^?'を直接入力したい場合は、クォートせずに、Ctrl-v → Ctrl-8を入力します。

Comments [0] | Trackbacks [0]

Workflowプラグインバージョンアップ(承認・差し戻し時の承認者へのCcメール追加等)

March 31,2021 11:55 PM
Category:[ワークフロー]
Tag:[MovableType, Plugin, Workflow]
Permalink

Movable Typeで承認ワークフローを実現する「Workflowプラグイン」をバージョンアップしました。

1.機能追加内容

承認時の承認メールをライターのみでなく、承認者にもCcで送信できる機能を追加しました。差し戻しメールについても、承認者にCcでの送信を選択できます。

Ccメールの送信する・しないは、承認者編集画面で承認順位別に行えます。

設定状態は承認者一覧画面で確認できます。

(クリックで拡大)

また、ライターや承認者が承認依頼する際の承認者の表示名を「ユーザー名」「表示名」から選択できるようにしました。

システム管理画面の設定画面

サイト別のプラグイン設定画面で設定することも可能です。

「ユーザー名」を半角英数、「表示名」を全角で運用している場合の表示は次のようになります。

「ユーザー名」を選択した場合の承認依頼画面

「表示名」を選択した場合の承認依頼画面

2.対象グレード

機能追加対象のグレードは、MT7の

  • 多段階承認版
  • 多段階承認版+日時指定版
  • 多段階承認+グループ・複数承認版

になります。

3.プラグインの詳細

Workflowプラグインの詳細については下記のリンクからどうぞ。

Workflowプラグイン
Workflowプラグイン

Comments [0] | Trackbacks [0]

MySQLで「The used SELECT statements have a different number of columns」となる場合の対処

March 30,2021 11:55 PM
Category:[MySQL]
Tag:[MySQL]
Permalink

MySQLで「The used SELECT statements have a different number of columns」となる場合の対処について紹介します。

1.問題点

MySQLで2つのテーブルを作りました、

mysql> create table foo ( id int, name varchar(32) );
 
Query OK, 0 rows affected (0.20 sec)
 
mysql> create table bar ( id int, name1 varchar(32), name2 varchar(32) );
Query OK, 0 rows affected (0.18 sec)
  :
(略)
  :
mysql> select * from foo;
+------+------+
| id   | name |
+------+------+
|    1 | aaa  |
|    2 | bbb  |
+------+------+
2 rows in set (0.00 sec)
 
mysql> select * from bar;
+------+-------+-------+
| id   | name1 | name2 |
+------+-------+-------+
|    1 | xxx1  | xxx2  |
|    2 | yyy1  | yyy2  |
+------+-------+-------+
2 rows in set (0.00 sec)

UNIONを使って2つのテーブルを結合し、表示させようとすると、「The used SELECT statements have a different number of columns」というエラーになります。

ということで、MySQLで「The used SELECT statements have a different number of columns」となる場合の対処方法を紹介します。

2.原因

エラーメッセージの内容より、SELECTで表示させるカラム数が異なっていることが原因です。

3.対処

SELECTで表示させるカラム数を一致させます。

(クリックで拡大)

Comments [0] | Trackbacks [0]

Movable TypeのDataAPIで「403 Forbidden」になる場合の対処

March 22,2021 11:55 PM
Category:[DataAPI]
Tag:[DataAPI, MovableType]
Permalink

Movable TypeのDataAPIで「403 Forbidden」になる場合の対処方法を紹介します。

1.問題点

MTから記事のタイトル一覧を取得するスクリプトを作成しました。

<script src="http://.../mt-static/data-api/v3/js/mt-data-api.min.js"></script>
<script type="text/javascript" src="http://.../mt-static/jquery/jquery.min.js?v=7.1.4"></script>
<script>
var api = new MT.DataAPI({
    clientId: 'foo',
    baseUrl: 'http://.../cgi-bin/mt/mt-data-api.cgi',
    format: 'json',
    async: true,
});
siteId=1;
api.listEntries(siteId, function(response) {
  if (response.error) {
    // エラー処理
    jQuery('#result').append($('<li>').append(response.error.code + ":" + response.error.message));
    return;
  }
 
  for (var i = 0; i < response.items.length; i++) {
      var entry = response.items[i];
      jQuery('#result').append($('<li>').append(response.items[i].title));
  }
});
</script>
<div id="result"></div>

が、実行すると、

403:Forbidden

となります。

スクリプトは問題ないと思いますが原因が分かりません。

ということで、DataAPIで「403 Forbidden」になる場合の対処方法を紹介します。

2.原因

MTでDataAPIの利用が有効になっていないのが原因として考えられます。

3.対処

DataAPIを利用したいサイトの「設定」→「Webサービス」をクリック。

「Data API のアクセスを許可する。」をチェックして「変更を保存」をクリック。

これで冒頭のスクリプトが正常に動作するようになります。

4.その他

システム関連のデータにアクセスする場合は、システム管理画面の「設定」→「Webサービス」をクリックして、「システム全般での Data API の利用を許可する。」をチェックして「変更を保存」をクリック。

これでシステム関連のデータにアクセスできるようになります。

なお、認証が必要なデータにアクセスする場合は「Movable Type Data APIの使い方:authenticate()」の設定を追加してください。

Comments [0] | Trackbacks [0]

Adobe Premiereで動画の一部にモザイクをかける方法

March 12,2021 11:55 PM
Category:[Premiere Pro]
Tag:[Adobe, Premiere]
Permalink

Adobe Premiere Proで動画の一部にモザイクをかけてトラッキングする方法を紹介します。

1.動画全体にモザイクを適用

メニューから「ウィンドウ」→「エフェクト」を選択。

「エフェクト」ウインドウから「ビデオエフェクト」→「スタイライズ」→「モザイク」を選択。

適用したいクリップにドラッグ&ドロップ。

(クリックで拡大)

2.モザイクの粒度を調整

エフェクトコントロールの「モザイク」にある、「水平ブロック」と「垂直ブロック」の値を80にします。値を大きくするとモザイクが細かくなります。

適用された動画は下のようになります。

(クリックで拡大)

3.モザイクを特定の箇所に適用

エフェクトコントロールの「モザイク」のアイコンをクリック。ここでは矩形のアイコンをクリックします。

動画に矩形のマスクが表示されます。

(クリックで拡大)

四隅をドラッグして位置を調整します。調整が完了したらリターン押下。

(クリックで拡大)

レンダリングが開始します。

4.モザイクのトラッキング

エフェクトコントロールの「モザイク」→「マスク(1)」の下にある再生アイコンをクリックすれば、モザイクのトラッキング(追尾)が開始します。

ただ、トラッキングの精度はいまひとつのようなので、フレームごとに微調整が必要かもしれません。

Comments [0] | Trackbacks [0]

Movable Typeでユーザー情報をCSVで管理できる「CSVAuthorDataImExporterプラグイン」

Movable Typeでユーザー情報をCSVで管理できる「CSVAuthorDataImExporterプラグイン」をリリースします。

1.機能

ユーザー情報をCSVでインポート・エクスポートが可能です。

エクスポート画面(クリックで拡大、以下同様)
エクスポート画面

インポート画面
インポート画面

インポート実行画面
インポート実行画面

管理対象の主なデータは下記のとおりです。パスワードの設定・変更も可能です。

  • id:ユーザーID(固定、新規登録時は未設定)
  • type:ユーザータイプ
  • status:ユーザー状態
  • name:ユーザー名
  • nickname:表示名
  • email:メールアドレス
  • url:URL
  • password:パスワード(インポートのみ)
  • preferred_language:使用言語
  • text_format:テキスト形式
  • date_format:日付
  • api_password:Webサービスパスワード(インポートのみ)

2.プラグイン詳細

プラグインの詳細ははCSVAuthorDataImExporterプラグインのページにアクセスしてください。

Comments [0] | Trackbacks [0]

mysqldumpで「Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces」となる場合の対処

February 17,2021 11:55 PM
Category:[MySQL]
Tag:[MySQL]
Permalink

mysqldumpで「Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces」となる場合の対処方法を紹介します。

1.問題点

MySQL(5.5)のバックアップは、

mysqldump -h <DBホスト> -u <DBユーザー> -p<DBパスワード> <データベース名> > backup.sql

で実行していました。

今回、MySQLを5.5から5.7にアップグレードしてバックアップしたところ、

% mysqldump -h <DBホスト> -u <DBユーザー> -p<DBパスワード> <データベース名> > backup.sql
mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces

というエラーが表示されるようになりましたが、解決方法が分かりません。

ということで、mysqldumpで「Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces」となる場合の対処方法を紹介します。

2.原因

MySQLを5.7にバージョンアップしたことで、PROCESS特権が必要になるようです。

以下、公式サイトの解説です。

INFORMATION_SCHEMA.FILESテーブルへのアクセスにPROCESS特権が必要になりました。この変更は、FILESテーブルのテーブルスペース情報にアクセスするmysqldumpコマンドのユーザーに影響するため、PROCESS特権も必要になります。

3.対処方法

テーブルスペース情報をダンプする必要がないユーザーは、-no-tablespacesオプションを指定してmysqldumpを呼び出すことにより、前述の要件を回避できます。

mysqldumpのパラメータに"--no-tablespaces"を付与します。

% mysqldump --no-tablespaces -h <DBホスト> -u <DBユーザー> -p<DBパスワード> <データベース名> > backup.sql

4.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]

bashの変数から最後の1文字を取得・削除する方法

February 5,2021 11:55 PM
Category:[bash]
Tag:[bash]
Permalink

bashの変数から最後の1文字を取得・削除する方法を紹介します。

https://srad.jp/~cobonzu/journal/547921/

1.問題点

下記のスクリプト(test.sh)にある変数fooの最後の文字"g"を取得または削除したいのですが、方法が分かりません。

#!/bin/bash
 
foo=abcdefg

ということで、bashの変数から最後の1文字を取得・削除する方法を紹介します。

2.文字列の最後の1文字を取得する

文字列の最後の1文字を取得するには、下記のようにします。

#!/bin/bash
 
foo=abcdefg
echo ${foo: -1}

注:":"と"-1"の間にスペースをいれてください。

実行結果

# ./test.sh
g

これはbashの変数展開(部分展開)で、

${parameter:offset}

を利用したものです。

3.文字列の最後の1文字を削除する

文字列の最後の1文字を削除するには、下記のようにします。

#!/bin/bash
 
foo=abcdefg
echo ${foo/%?/}

実行結果

# ./test.sh
abcdef

これはbashの変数展開(後方一致除去)で、

${parameter%word}

を利用したものです。

Comments [0] | Trackbacks [0]

CSVDataImExporterプラグイン・機能拡張版リリース

February 3,2021 11:55 PM
Category:[インポート・エクスポート]
Tag:[CSVDataImExporter, MovableType, Plugin]
Permalink

Movable Typeの記事データ・コンテンツデータをCSVデータでインポート・エクスポートできる「CSVDataImExporterプラグイン」の機能拡張版をリリースしました。

1.追加機能

システム管理画面よりコンテンツデータのインポート・エクスポートが可能です。これを使用することにより、複数のサイトや複数のコンテンツデータを横断した操作が不要となります(システム管理画面で記事のインポート・エクスポートは行えません)。

エクスポート画面(クリックで拡大、以下同様)

インポート画面

また、ロール編集画面に「コンテンツデータのインポート・エクスポート」および「記事のインポート・エクスポート」権限を追加しました。

ロール編集画面

これにより、権限別にコンテンツデータ・記事のインポート・エクスポートを制御することが可能です。
注:「サイト管理者」ロールは対象外(システム管理者と同等の動作)です。


上記は権限は、権限を与えたユーザーに対し、サイト配下のすべてのコンテンツデータに適用されますが、さらにコンテンツタイプ別に権限を設定したい場合は、「コンテンツタイプごとの権限」での制御も可能です。

ロール編集画面

ユーザーに特定のコンテンツデータのみエクスポート・インポートを許容したい場合はこちらの機能をご利用ください。
注:「サイト管理者」ロールは対象外(システム管理者と同等の動作)です。

2.システム管理画面からコンテンツデータのエクスポート・インポートするCSVフォーマットについて

システム管理画面からのコンテンツデータのエクスポート・インポートのCSVフォーマットは、サイト管理画面からのエクスポート・インポートのCSVフォーマットと異なります。

具体的には、システム管理画面からのエクスポート・インポートのCSVフォーマットは、左の2カラムに、

site_id,site_name

を付与します。site_idはサイトID、site_nameはサイトの名前です。これはシステム管理画面から指定したコンテンツタイプのサイトと、CSVファイルのサイトが適正であることを検証するためです。

サイト管理画面からエクスポートしたCSVファイルをシステム管理画面からインポートするには、上記の2カラムを追加してください。

その他、複数コンテンツタイプの一括エクスポートは行えません。

3.コンテンツデータのインポート・エクスポートの権限設定について

ロール編集画面の「作成と公開」に表示された「コンテンツデータのインポート・エクスポート」権限をチェックすると、自動的に「コンテンツデータの管理」にチェックがつきます。

また、ロール編集画面の「コンテンツタイプごとの権限」の「コンテンツデータのインポート・エクスポート」権限をチェックすると、自動的に「コンテンツデータの作成」にチェックがつきます。

後者の方法で権限を設定した場合、権限が設定されていないコンテンツデータにも「xxxをインポート」「xxxをエクスポート」のリンクが表示されますが、クリックするとダッシュボードにリダイレクトされます。

4.記事のインポート・エクスポートの権限設定について

ロール編集画面の「作成と公開」に表示された「記事のインポート・エクスポート」権限をチェックすると、自動的に「すべての記事の編集」にチェックがつきます。

5.評価版ダウンロード・購入

評価版ダウンロード・ご購入はCSVDataImExporterプラグインのページにアクセスしてください。

Comments [0] | Trackbacks [0]

bashのwhile文で利用した変数がループ外で反映されない場合の対処

January 22,2021 11:55 PM
Category:[bash]
Tag:[bash]
Permalink

bashのwhile文で利用した変数がループ外で反映されない場合の対処方法を紹介します。

1.問題点

次のようなスクリプト(test.sh)を書きました。

#!/bin/bash
 
counter=0
cat /etc/hosts | while read line; do
    counter=$(( counter + 1 ))
    echo $counter
done
 
echo $counter

このスクリプトを実行すると、最後のechoで/etc/hostsの行数が表示されるはずですが、次のように「0」と表示されます。

実行結果

# ./test.sh
1
2
3
4
5
6
7
8
9
10
0

ということで、bashのwhile文で利用した変数がループ外で反映されない場合の対処方法を紹介します。

2.対処

「cat /etc/hosts」はパイプを使わず、リダイレクトを使用します。

#!/bin/bash
 
counter=0
while read line; do
    counter=$(( counter + 1 ))
    echo $counter
done < <(cat /etc/hosts)
 
echo $counter

実行結果

# ./test.sh
1
2
3
4
5
6
7
8
9
10
10
Comments [0] | Trackbacks [0]

bashのechoでアスタリスク「*」がワイルドカードとして展開される場合の対処

January 18,2021 11:55 PM
Category:[bash]
Tag:[bash]
Permalink

bashのechoでアスタリスク「*」がワイルドカードとして展開される場合の対処について紹介します。

1.問題点

次のようなスクリプト「test.sh」を書きました。

#!/bin/bash
 
data='*** Error!! ***'
echo $data

が、実行すると期待しない結果になります。

実行結果

# ./test.sh
test.sh Error!! test.sh

具体的には、スクリプトを実行したディレクトリのファイル名が表示されます。

このディレクトリにはtest.shしかありませんが、例えば、test2.sh、test3.shがあると、

# ./test.sh
test.sh test2.sh test3.sh Error!! test.sh test2.sh test3.sh

となります。

2.原因

echoするときに、アスタリスク「*」がワイルドカードとして展開されている模様。

3.対処

echoするときの変数dataをダブルクォーテーションで括ります。

#!/bin/bash
 
data='*** Error!! ***'
echo "$data"

実行結果

# ./test.sh
*** Error!! ***
Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages