我想用一個變量,這個名字(?):topMiddleOligocenetoUpperEocene?問號shell變量
我怎麼能做到這一點在shell腳本(即,使用問號)?我試過了:
{topMiddleOligocenetoUpperEocene?}="something"
但是在我的shell腳本(myfile.sh在第一行#!/ bin/sh中使用)中沒有理解它。
任何暗示將提前讚賞,感謝。
我想用一個變量,這個名字(?):topMiddleOligocenetoUpperEocene?問號shell變量
我怎麼能做到這一點在shell腳本(即,使用問號)?我試過了:
{topMiddleOligocenetoUpperEocene?}="something"
但是在我的shell腳本(myfile.sh在第一行#!/ bin/sh中使用)中沒有理解它。
任何暗示將提前讚賞,感謝。
不能。這在bash中不是一個有效的標識符。見name
定義在http://www.gnu.org/software/bash/manual/bashref.html#Definitions
名
僅由字母,數字字,並強調,並以字母開頭或下劃線。名稱用作shell變量和函數名稱。也被稱爲標識符。
?不能是變量名稱的一部分,例如:%=,對於shell而言更具有特殊意義。在這種情況下,它會嘗試查找以變量名和1個字符(任何字符)開頭的文件。除非你有一個可以被hte環境執行的東西,否則它會返回一個錯誤。
ksh:
{topMiddleOligocenetoUpperEocene?}="something"
sh: {topMiddleOligocenetoUpperEocene?}=something: not found.
bash
{topMiddleOligocenetoUpperEocene?}="something"
bash: {topMiddleOligocenetoUpperEocene?}=something: command not found
我看到'dash'手冊頁說「用戶設置的變量必須包含一個僅由字母,數字和下劃線組成的名稱 - 第一個名稱不能是數字。 –