というファイルを作成する必要があります。*'test'*
書くならtouch \'test\'
ls
プログラム'test'
しかし、私が書くならtouch \*\'test\'\*
ls
今見せて*'\''test'\''*
どのようなヒントがありますか?誰かが私が間違っていることを説明できますか?
私のオペレーティングシステムはUbuntu 20.04です。
ベストアンサー1
問題はGNUls
です役に立つあいまいでない引用形式で奇妙なファイル名を出力します。これは、シェルに入力して同じ名前を取得する方法と似ています。
時には役に立ちますが、時には混乱だけを加重させるだけです。この機能をオフにするには、制御環境変数を設定します。
export QUOTING_STYLE=literal
ls
または、対応するコマンドラインフラグを使用してください。
ls --quoting-style=literal
またはより短いですls -N
。
以下を引用して、奇妙な文字を含むファイル名を作成できます。
touch "*'test'*" # « *'test'* »
シェルがコマンドラインを実行する前に引用符付き文字列を処理するので、さまざまな種類の引用符付きの文字列が隣接する可能性があることに注意してください(ここでは、単一引用符で囲まれた文字列と二重引用符で囲まれた文字列があります)。
touch 'Quotes "here" at'" 5 o'clock" # « Quotes "here" at 5 o'clock »
# '←-first-string-→'"←-second-→"
あなたの例:
touch \'test\' # « 'test' »
touch \*\'test\'\* # « *'test'* »
ls -1 --quoting-style=literal # List files one per line
*'test'*
'test'