#!/bin/bash
echo "Unesite argument:$1 "
var=$1
if [[ ! -f "$var" ]]
then
touch $var
sleep 1
echo "Nova datoteka $var je kreirana."
else
echo "Ova datoteka vec postoji, unesite drugu."
sleep 1
fi
「タッチにファイルオペランドがありません」というメッセージが表示されるのはなぜですか?
ベストアンサー1
スクリプトにパラメータを提供していません。その結果、両方とも空の文字列に$1
展開されます。$var
空の文字列は確かに既存のファイル名ではないのでtouch $var
実行されます。なぜならあなたはそうではないからです。引用するtouch
拡張はパラメータのないものと同じです。
もしあなたなら持つquote を$var
実行すると、touch ""
次のような他のエラーメッセージが表示されます。
touch: : No such file or directory
空の文字列は有効なファイル名ではないからです。